Comment ajouter plusieurs lignes dans un fichier avec bash

Comment ajouter plusieurs lignes dans un fichier avec bash
Dans Linux, nous travaillons constamment avec des fichiers. En conséquence, nous pouvons rencontrer des cas où nous devons ajouter plusieurs lignes à un fichier.

Ce guide rapide discutera de diverses approches que vous pouvez utiliser pour ajouter plusieurs lignes dans un fichier.

Méthode n ° 1 - Utilisation d'écho et de printf

Le moyen le plus simple d'ajouter plusieurs lignes dans un fichier est d'utiliser la commande Echo et printf.

Commençons par Echo.

Echo est une commande utilisée pour produire une chaîne ou plusieurs chaînes comme arguments. Echo est disponible dans toutes les distributions Linux, ce qui en fait un bon outil pour rediriger la sortie vers un fichier.

Commençons par vérifier que le fichier n'est pas vide.

chat multiple.SMS

Comme indiqué dans la sortie ci-dessus, le fichier n'est pas vide; Il contient des lignes de texte.

Pour ajouter plusieurs lignes à un fichier avec Echo, utilisez l'option -e et séparez chaque ligne avec \ n.

Lorsque vous utilisez l'option -e, il indique à Echo d'évaluer des caractères de barreaux de bar tels que \ n pour une nouvelle ligne.

echo -e "Bonjour, le monde \ nbash Les scripts sont géniaux \ nthis est une nouvelle ligne" >> multiple.SMS

Si vous faites le fichier, vous vous rendrez compte que chaque entrée est ajoutée sur une nouvelle ligne immédiatement après le contenu existant.

chat multiple.SMS

Le printf

Laissez-nous maintenant regarder printf. L'utilisation de la commande printf est très similaire à la commande echo. Pour ajouter plusieurs lignes avec la commande printf:

printf "Apprendre les bases de script de bash ici \ nhttps: // linuxhint.com / bash_scripting_tutorial_beginners / ">> multiple.SMS

De même, la mise en couverture de la commande fournit une sortie similaire à celle:

chat multiple.SMS

Méthode n ° 2 - Utilisation de bash heredoc

Une autre méthode que nous pouvons utiliser pour ajouter plusieurs lignes dans un fichier dans Bash est d'utiliser le heredoc.

Un heredoc est une fonction de redirection qui vous permet de transmettre plusieurs lignes à une commande ou à un fichier.

L'utilisation d'un Heredoc implique de spécifier un délimiteur au début de votre commande. Une fois que le shell rencontre le délimiteur, il termine l'entrée et la redirige vers un fichier ou une commande spécifique.

Apprenez les bases de l'utilisation d'un heredoc.

Nous pouvons utiliser la commande Tee ou Cat pour rediriger plusieurs lignes vers un fichier en utilisant un heredoc. Discutons des deux

La commande de tee-shirt

Pour ajouter une ligne à l'aide de la commande tee, nous utilisons l'option -a. Nous pouvons ensuite passer l'entrée d'un Heredoc en tant que:

tee -a multiple.SMS <Copier le fichier d'entrée standard pour chaque fois, ainsi que la sortie standard.
-a, -
APPENDTOTHE DICATS FICHIERS, ne pas écraser
-I, --ignore-interrupts
Ignorer les signaux d'interruption
-p Diagnostic erreurs Écrivant des tuyaux de tonon
--Output-error [= mode]
Définir le comportement en ligne. SeedodeBelow
--Aide à afficher cette aide et à quitter
--version
Affiche les informations de version et quitte
Eof

Une fois que vous avez exécuté la commande, un tee affichera le contenu et les ajoutera au fichier spécifié.

Vous pouvez vérifier que le contenu est ajouté au fichier à l'aide de CAT.

chat multiple.SMS

Le commandement du chat

L'utilisation de la commande cat pour ajouter dans un fichier est similaire à l'utilisation de la commande TEE. Cependant, nous utilisons les symboles de redirection d'ajout pour rediriger la sortie.

La commande suivante ajoute les lignes suivantes au fichier.

chat multiple.SMS
------------------------------------------------------------
Les fichiers de chats ajoutent ici
------------------------------------------------------------
Eof

Vérifiez que le contenu existe dans le fichier à l'aide de la commande CAT:

chat mupliple.SMS

De conclure

Ce guide a discuté de diverses méthodes que vous pouvez utiliser pour ajouter plusieurs lignes à un fichier en bash.