testo eco con nuova riga in bash


35

Vorrei aggiungere del testo a un file. Così ho scritto in bash

echo text >> file.conf

Tuttavia non lascia una nuova linea. Quindi posso farlo solo una volta. Come faccio ad aggiungere una nuova linea?


5
Cosa intendi? Una newline extra ? echoaggiunge una nuova riga per impostazione predefinita.
In pausa fino a nuovo avviso.

4
echoper impostazione predefinita lascia una nuova riga - ne hai bisogno per lasciarne due? Inoltre, se lo stai eseguendo su un sistema Linux e stai aprendo il file su un sistema Windows o Mac, assicurati che il tuo editor supporti * nix newlines, o apparirà tutto su una riga anche se si trova su più righe.
Darth Android

Risposte:


79

opzione 1:

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

opzione 2:

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

opzione 3:

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

7
È possibile eliminare l'argomento vuoto ( echo ""=> echo). Inoltre, l'opzione 4:, echo $'text\n'che è utile per qualsiasi comando poiché $''viene interpretata da bash.

7

Penso che la risposta corretta dovrebbe essere quella del tuo comando

testo eco >> file.conf

aggiunge una riga aggiuntiva, ma dopo il nuovo testo, non prima.

Immagino che tu voglia aggiungere una riga in più prima di quel testo, probabilmente perché il tuo file iniziale non termina in una nuova riga. In tal caso potresti usare

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

invece, poiché l' -eopzione ti consente di utilizzare il nuovo \ncarattere di linea .


3

Solo per aggiungere alla risposta di Akira

Opzione 4:

utilizzare ctrl-v ctrl-mdue combinazioni di tasti per inserire due caratteri di controllo newline nel terminale. Ctrl-v consente di inserire caratteri di controllo nel terminale. Se lo desideri, puoi usare il tasto invio o invio anziché ctrol-m. Inserisce la stessa cosa.

Questo finisce per sembrare echo text^M^M >> file.conf


2
Se hai bisogno di avanzamenti di riga anziché di ritorno a capo (linux / unix), prova a echo "text^J^J" >> file.confdigitare ^ J potrebbe effettivamente inserire una nuova riga letterale, assicurati di inserire le virgolette e andrà bene.
Darth Android
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.