Append Text To File

Table des matières

Avez-vous déjà eu besoin d’ajouter de nouvelles lignes de texte à un fichier existant sous Linux, comme mettre à jour un journal, ajouter de nouvelles valeurs de configuration ou enregistrer les sorties de commandes sans effacer ce qui existe déjà ? Il s’agit d’un besoin courant, en particulier pour les développeurs, les administrateurs système ou toute personne gérant des scripts et des tâches d’automatisation. L’écrasement accidentel d’un fichier peut entraîner une perte de données. Il est donc crucial de savoir comment ajouter du texte au lieu de le remplacer. Dans ce guide, nous explorerons quelques commandes Linux utiles pour ajouter du contenu à un fichier existant.

Écrasement ou ajout

L’ajout et l’écrasement impliquent tous deux l’ajout de contenu à un fichier, mais ils le font de manières très différentes. L’écrasement remplace toutes les données existantes par du nouveau contenu, effaçant ainsi ce qui se trouvait auparavant dans le fichier. L’ajout, en revanche, ajoute du nouveau contenu à la fin du fichier sans toucher aux données existantes.

Ajout de texte à un fichier à l’aide de l’opérateur de double redirection

L’opérateur de double redirection (>>) est un moyen simple et efficace d’ajouter du nouveau contenu à un fichier existant sous Linux. Il crée automatiquement le fichier s’il n’existe pas et ajoute du texte sans supprimer les données existantes.

Note: il faut être prudent lors de l’utilisation de l’opérateur de redirection. Un seul opérateur de redirection (>) écrasera le contenu du fichier, tandis qu’un opérateur de double redirection (>>) ajoutera le texte à une nouvelle ligne.

Par exemple, vous pouvez utiliser le echo commande avec le >> opérateur pour ajouter des entrées de journal à un fichier.

echo "Backup Completed Successfully on $(date)" >> backup.log

Cette commande enregistre un message horodaté à la fin du fichier « backup.log ».

Vous pouvez également utiliser le printf commande avec l’opérateur de double redirection (>>) pour ajouter du texte tout en conservant un meilleur contrôle sur le formatage. Il est couramment utilisé pour ajouter des données structurées ou des messages formatés aux fichiers.

printf "User login attempt: %sn" "$(date)" >> system_activity.txt

Cette commande ajoute une entrée de journal formatée avec la date actuelle au fichier « system_activity.txt ».

Ajout à l'aide de Printf

Vous pouvez également utiliser la commande cat avec l’opérateur double redirection pour combiner plusieurs fichiers. Cela ajoute le contenu d’un fichier à un autre, ce qui permet de conserver des rapports ou des journaux combinés.

cat mte.txt >> example.txt
Ajout à l'aide de Cat

Enfin, vous pouvez également utiliser l’opérateur de double redirection pour enregistrer la sortie de n’importe quelle commande dans un fichier spécifique.

ls >> logs.txt
Redirection vers un fichier

Souviens-toi, >> ajoute uniquement du texte à la fin du fichier. Il ne peut pas le placer entre les lignes.

Utilisation de la commande tee pour ajouter du texte à un fichier

La commande tee lit les entrées du terminal et les écrit dans un fichier. Il est souvent utilisé lorsque vous souhaitez enregistrer le résultat d’une commande tout en l’affichant à l’écran. Cela peut être fait de deux manières : en utilisant le tee commande avec le -a ou en utilisant l’opérateur de double redirection (>>).

Pour ajouter du contenu à l’aide de -a option:

tee -a mte.txt

Cette commande vous fera entrer dans un mode interactif où vous pourrez taper n’importe quel texte. Lorsque vous avez terminé, appuyez sur Ctrl + D pour sortir.

Ajout à l'aide de Tee

Dans la deuxième méthode, vous pouvez utiliser l’opérateur de redirection avec le tee commande comme ça.

tee >> mte.txt

Cela fonctionne de la même manière, mais le texte que vous tapez n’apparaîtra plus sur le terminal.

Utiliser Tee avec redirection

Assurez-vous d’utiliser le tee commande avec le -a drapeau ou >> lors de l’ajout. Sinon, le fichier sera écrasé.

Ajout de texte à un fichier à l’aide de la commande sed

La commande sed, abréviation de éditeur de fluxest utilisé pour modifier le texte dans des fichiers ou le saisir directement depuis le terminal. Cette commande est utile lorsque vous devez ajouter du texte sur des lignes spécifiques ou faire correspondre certains modèles dans un fichier.

sed -i '$ a<text_to_append>' <file_name>

Remplacer text_to_append avec le texte que vous souhaitez ajouter, et file_name avec votre nom de fichier réel. Par exemple:

sed -i '$ a appending text using sed' mte.txt

Ici, nous utilisons le $ signe pour ajouter la nouvelle ligne à la fin du fichier, tandis que a signifie « ajouter », indiquant sed pour ajouter la nouvelle ligne au contenu existant.

Ajout avec Sed

Le sed La commande nous permet également d’insérer du texte à un numéro de ligne spécifique. Par exemple, pour ajouter une ligne après la troisième ligne, utilisez 3 au lieu du $ signe.

sed -i '3 a appending a new line after the third line' mte.txt
Ajout de texte à une position spécifique

Outre ces outils de ligne de commande, vous pouvez également utiliser des éditeurs de texte tels que Nano et Vim pour ajouter du contenu à n’importe quel emplacement spécifique.

Redirection de la sortie standard et de l’erreur standard vers un fichier

Sous Linux, vous pouvez rediriger à la fois la sortie standard et l’erreur standard d’une commande vers le même fichier. Ceci est utile lorsque vous souhaitez stocker tous les résultats de commandes et messages d’erreur au même endroit pour examen. Par exemple, si vous souhaitez enregistrer les sorties réussies et échouées de la commande ls (par exemple lorsque certains répertoires n’existent pas).

ls /etc /unknown >> output.log 2>&1

Ici, 1 fait référence à la sortie standard, et 2 fait référence à l’erreur standard.

Sortie standard et erreur

Dans cet exemple, le système répertorie le contenu de « /etc » car il s’agit d’un répertoire valide, mais il affiche un message d’erreur pour « /unknown » car il n’existe pas. La commande ajoute à la fois la sortie et le message d’erreur au fichier « output.log ».

Conclusion

L’ajout de texte à un fichier est une compétence utile pour gérer les journaux, automatiser les scripts et enregistrer les sorties de commandes sans perdre de données. L’apprentissage de ces commandes vous aide à mettre à jour les fichiers efficacement et à éviter tout écrasement accidentel. Vous pouvez également explorer des outils plus utiles pour travailler efficacement avec du texte sur la ligne de commande afin d’améliorer votre productivité en ligne de commande.

Partager :
Facebook
Twitter
LinkedIn

Gentil Geek

Passionné d'informatique depuis ma plus tendre enfance aujourd'hui j'en ai fait mon métier. A vos côtés pour simplifier votre utilisation de l'informatique et vous permettre de gagner en compétences.

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *