web-dev-qa-db-fra.com

echo texte avec nouvelle ligne en bash

Je voudrais ajouter du texte à un fichier. Alors j'ai écrit en bash

echo text >> file.conf

Cependant, il ne laisse pas de nouvelle ligne. Donc, je ne peux le faire qu'une fois. Comment ajouter une nouvelle ligne?

31
user3109

option 1:

% echo -e "text\n" >> file.conf

option 2:

% ( echo text ; echo "" ) >> file.conf

option 3:

% echo text >> file.conf
% echo ""  >> file.conf
72
akira

Je pense que la bonne réponse devrait être que votre commande

echo text >> file.conf

ajoute une ligne supplémentaire, mais après le nouveau texte, pas avant.

Je suppose que vous souhaitez ajouter une ligne supplémentaire avant ce texte, probablement parce que votre fichier initial ne se termine pas par une nouvelle ligne. Dans ce cas, vous pouvez utiliser

echo -e "\ ntext" >> fichier.conf

à la place, l'option -e vous permet d'utiliser le nouveau caractère \n de la ligne.

4
N.Gutierrez

Juste pour ajouter à la réponse d'Akira

Option 4:

utilisez les combinaisons ctrl-v ctrl-m deux fois pour insérer deux caractères de contrôle de nouvelle ligne dans le terminal. Ctrl-v vous permet d'insérer des caractères de contrôle dans le terminal. Vous pouvez utiliser la touche entrée ou retour au lieu de la commande ctrol-m si vous le souhaitez. Cela insère la même chose.

Cela finit par ressembler à echo text^M^M >> file.conf

3
James T