Cat EOF dans Bash
- Cat EOF dans Bash
- Mettre une chaîne multiligne dans un fichier dans Bash
- Passer une chaîne multiligne au tuyau 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