Comment ajouter du texte à un fichier en utilisant Bash
-
Ajouter du texte à un fichier avec l’opérateur de redirection
>>
-
Ajouter du texte à un fichier avec la commande
tee
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.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn