Comment ajouter du texte à un fichier en utilisant Bash

Suraj Joshi 30 janvier 2023
  1. Ajouter du texte à un fichier avec l’opérateur de redirection >>
  2. Ajouter du texte à un fichier avec la commande tee
Comment ajouter du texte à un fichier en utilisant Bash

Nous pouvons ajouter du texte à un fichier en utilisant l’opérateur Redirection (>>), et la commande tee.

Nous devons nous assurer que nous avons suffisamment de permissions pour ajouter du texte au fichier. Si nous n’avons pas assez de permissions, nous pouvons obtenir une erreur de permission refusée.

Ajouter du texte à un fichier avec l’opérateur de redirection >>

L’opérateur de redirection >> récupère la sortie des commandes bash et ajoute la sortie à un autre fichier. Il existe de nombreuses façons d’imprimer le texte sur la sortie standard, mais echo et printf sont les commandes les plus populaires.

Pour ajouter le texte à un fichier, nous écrivons une commande pour imprimer le texte en utilisant l’une des commandes de sortie, puis nous ajoutons l’opérateur >> à la commande, suivi du nom du fichier où le texte doit être ajouté.

echo "Hello World" >> abc.txt

Cela ajoutera le texte Hello World à la fin du fichier abc.txt.

Si le fichier n’existe pas dans le répertoire de travail actuel, la commande créera un fichier vide et y inscrira le texte Hello World.

Pour interpréter les caractères de la séquence d’échappement tels que \n, nous utilisons l’option -e avec la commande echo.

echo -e "Hello World! \nThis is DelftStack" >> abc.txt

Ceci ajoutera le texte

Hello World!
This is DelftStack

au fichier abc.txt.

Pour vérifier si le texte a été ajouté ou non, nous pouvons utiliser la commande cat pour visualiser le contenu du fichier.

cat abc.txt

Production:

Hello World! 
This is DelftStack

Si le texte a été ajouté, nous pouvons voir le texte à la fin du fichier.

Si nous voulons un texte plus formaté, nous pouvons utiliser la commande printf pour produire une sortie plus formatée.

printf "The path of shell interpreter is %s\n" $SHELL >> abc.txt

Elle ajoute le texte The path of shell interpreter is /bin/bash au fichier abc.txt.

Ajouter du texte à un fichier avec la commande tee

tee est un utilitaire en ligne de commande qui prend l’entrée standard et l’écrit dans un ou plusieurs fichiers et la sortie standard simultanément.

Par défaut, la commande tee écrase le contenu des fichiers. Pour simplement ajouter le texte à la fin du fichier, nous utilisons l’option -a ou --append avec la commande.

echo "Hello World!" | tee -a abc.txt

Production:

Hello World!

Elle ajoute Hello Word! au fichier abc.txt et écrit également le texte sur la sortie standard du terminal.

Si nous obtenons une erreur de permission refusée en ajoutant du texte à un fichier, nous pouvons ajouter le mot-clé sudo avant la commande tee.

echo "Hello World!" | sudo tee -a abc.txt

Si nous ne voulons pas voir la sortie standard, nous pouvons rediriger la sortie vers /dev/null.

 echo "Hello World!"  | tee -a abc.txt >/dev/null

Un avantage de l’utilisation de la commande tee est que nous pouvons écrire le texte dans plusieurs fichiers simultanément en utilisant la commande tee. Pour écrire le texte dans plusieurs fichiers, nous pouvons simplement lister tous les fichiers séparés par un espace.

echo "Hello World!" | sudo tee -a abc.txt backup.txt

Cela ajoute le texte aux deux fichiers abc.txt et backup.txt simultanément.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn