Cat EOF dans Bash

Fumbani Banda 30 janvier 2023
  1. Cat EOF dans Bash
  2. Mettre une chaîne multiligne dans un fichier dans Bash
  3. Passer une chaîne multiligne au tuyau dans Bash
Cat EOF dans Bash

Ce tutoriel explique ce qu’est cat EOF et son utilisation dans bash.

Cat EOF dans Bash

cat est une commande bash utilisée pour lire, afficher ou concaténer le contenu d’un fichier, tandis que EOF signifie End Of File. Le EOF indique au shell que le fichier en cours de lecture est terminé. cat << eof utilise here-document. Les opérateurs de redirection << et <<- permettent tous deux la redirection des lignes suivantes lues par le shell vers l’entrée d’une commande. Les lignes redirigées sont appelées here-document.

Le here-document utilise le format suivant.

[n] << word
     here-document
delimeter

Le here-document est traité comme un seul mot qui commence après la nouvelle ligne suivante. Il continue jusqu’à ce qu’il y ait une ligne contenant uniquement le délimiteur ou une nouvelle ligne sans caractères blancs entre les deux.

Mettre une chaîne multiligne dans un fichier dans Bash

cat, <<, EOF et > fournissent un moyen interactif d’entrer une chaîne multiligne dans un fichier. Le EOF est connu sous le nom de Here Tag. Le Here Tag indique au shell que vous allez saisir une chaîne multiligne jusqu’au Here Tag. Le << est utilisé pour définir le Here Tag. Le > est utilisé pour rediriger le contenu d’entrée vers un fichier spécifié, multiline.txt dans notre cas.

cat << EOF > multiline.txt
> This is the first line
> This is the second line
> This is the third line
> EOF

Nous pouvons également utiliser cat, <<, EOF et > pour écrire des scripts bash comme indiqué ci-dessous de manière interactive.

cat << EOF > script.sh
#!/bin/bash

printf "Hello\n"
printf "Wordl!\n"
EOF

Passer une chaîne multiligne au tuyau dans Bash

Le code ci-dessous utilise cat, eof et pipe pour rediriger le contenu de la chaîne d’entrée multiligne vers un tube et une commande spécifiés. L’entrée est redirigée vers la commande grep qui grep pour la chaîne A et l’entrée correspondante est redirigée vers la commande tee. La commande tee copie l’entrée dans le fichier fruits.txt.

cat <<EOF | grep 'A' | tee fruits.txt
> Apple
> Orange
> Apricot
> Banana
> EOF

Vérifions le contenu du fichier fruits.txt avec cat.

cat fruits.txt

Production :

Apple
Apricot
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub