53 votes

echo text with new line in bash

Je souhaite ajouter du texte à un fichier. J'ai donc écrit en bash

echo text >> file.conf

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

112voto

akira Points 58339

L'option 1 :

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

l'option 2 :

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

l'option 3 :

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

11voto

N.Gutierrez Points 111

Je pense que la réponse appropriée 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 voulez 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 pourriez utiliser

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

au lieu de cela, comme le fait le -e permet d'utiliser la nouvelle ligne \n caractère.

4voto

northirid Points 240

Juste pour compléter la réponse d'Akira

Option 4 :

utiliser ctrl-v ctrl-m Deux combinaisons de touches 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 à la place de Ctrl-m si vous le souhaitez. Cela insère la même chose.

En fin de compte, cela donne echo text^M^M >> file.conf

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X