Comment ajouter une ligne à un fichier en bash

Comment ajouter une ligne à un fichier en bash
Parfois, nous devons travailler avec un fichier à des fins de programmation, et la nouvelle ligne doit ajouter à la fin du fichier. Cette tâche d'ajout peut être effectuée en utilisant 'écho' et 'tee«Commandes. En utilisant '>> avec 'écho' La commande ajoute une ligne à un fichier. Une autre façon consiste à utiliser les commandes «Echo», «Pipe (|) et« Tee »pour ajouter du contenu à un fichier. Comment ces commandes peuvent être utilisées dans le script bash sont affichées dans cet article.

Créer un fichier texte nommé livres.SMS avec le contenu suivant pour faire les exemples indiqués dans la partie suivante de cet article.

livres.SMS:

Apprendre PHP et MySQL
Apprendre Laravel
Conception Web utilisant HTML

Exemple-1: Ajouter la ligne du fichier à l'aide de la commande 'echo' et '>>' symbole

Dans le script suivant, un fichier existant, livres.SMS est affecté à la variable, nom de fichier, et une valeur de chaîne sera prise en entrée de l'utilisateur pour ajouter à la fin du fichier. Si la valeur d'entrée n'est pas vide, alors le 'écho' la commande va ajouter la valeur dans le livres.SMS fichier en utilisant '>>' symbole.

#!/ bac / bash
# Définir le nom de fichier
FileName = 'livres.SMS'
# Tapez le texte que vous souhaitez ajouter
lire -p "Entrez le texte que vous souhaitez ajouter:" NewText
# Vérifiez que le nouveau texte est vide ou non
Si ["$ newText" != ""]; alors
# Ajoutez le texte en utilisant '>>' Symbole
echo $ newText >> $ nom de fichier
Fi

Sortir:

'Apprendre jQuery'est considéré comme une nouvelle valeur de texte dans la sortie qui est annexée à la fin du fichier.

Exemple-2: Ajouter la ligne du fichier à l'aide de la commande 'printf' et '>>' symbole

'>>"Le symbole peut être utilisé avec le"printf ' Commande pour ajouter le contenu formaté dans un fichier. Comme l'exemple précédent, le nom de fichier et les valeurs de chaîne sont affectés aux variables, nom de fichier, et newtext. Suivant, 'printf'La commande redirigera la valeur de newtext avec un autre texte à la fin du livres.SMS déposer.

#!/ bac / bash
# Définir le nom de fichier
FileName = 'livres.SMS'
# Tapez le texte que vous souhaitez ajouter
lire -p "Entrez le texte que vous souhaitez ajouter:" NewText
# Vérifiez que le nouveau texte est vide ou non
Si ["$ newText" != ""]; alors
# Ajoutez le texte en utilisant '>>' Symbole
printf "Le texte annexe est:% s \ n" "" $ newText ">> $ nom de fichier
Fi

Sortir:

'Site Web par WordPress'est considéré comme une nouvelle valeur de texte dans la sortie qui est annexée à la fin du fichier.

Exemple-3: Ajouter la ligne du fichier à l'aide de la commande «Tee»

'tee' est une autre commande utile pour ajouter n'importe quelle chaîne dans un fichier. Dans le script suivant, le nom de fichier et les nouvelles valeurs de texte sont attribués comme les exemples précédents. Si la valeur du texte n'est pas vide, alors le 'écho'Commande enverra la valeur au'tee'Commande utilisant'|' symbole. '-un'L'option est utilisée avec'tee«Commande ici pour ajouter la valeur d'entrée reçue dans le fichier livres.SMS. '/ dev / null' est utilisé dans le script pour éviter de montrer la sortie dans le terminal.

#!/ bac / bash
# Définir le nom de fichier
FileName = 'livres.SMS'
# Tapez le texte que vous souhaitez ajouter
lire -p "Entrez le texte que vous souhaitez ajouter:" NewText
# Vérifiez que le nouveau texte est vide ou non
Si [$ newText != ""]; alors
# Ajouter le texte en utilisant la commande «Tee»
Echo $ newText | Tee -a $ nom de fichier> / dev / null
Fi

Sortir:

'Apprendre CSS3'est considéré comme une nouvelle valeur de texte dans la sortie qui est annexée à la fin du fichier.

Conclusion:

Trois façons différentes sont montrées dans cet article pour ajouter du texte à la fin d'un fichier à l'aide d'un script bash.