eco de texto com nova linha no bash


35

Gostaria de acrescentar texto a um arquivo. Então eu escrevi no bash

echo text >> file.conf

No entanto, não deixa uma nova linha. Então, eu posso fazer isso apenas uma vez. Como adiciono uma nova linha?


5
O que você quer dizer? Uma nova linha extra ? echoadiciona uma nova linha por padrão.
Pausado até novo aviso.

4
echopor padrão, deixa uma nova linha - você precisa deixar duas? Além disso, se você estiver executando isso em um sistema Linux e abrindo o arquivo em um sistema Windows ou Mac, verifique se o editor suporta * nix newlines, ou ele aparecerá em uma linha, mesmo que em várias linhas.
Darth Android

Respostas:


79

Opção 1:

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

opção 2:

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

opção 3:

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

7
Você pode descartar o argumento vazio ( echo ""=> echo). Além disso, a opção 4:, echo $'text\n'que é útil para qualquer comando, conforme $''interpretado pelo bash.

7

Eu acho que a resposta correta deve ser que seu comando

eco de texto >> file.conf

adiciona uma linha extra, mas após o novo texto, não antes.

Eu acho que você deseja adicionar uma linha extra antes desse texto, provavelmente porque seu arquivo inicial não termina em uma nova linha. Nesse caso, você poderia usar

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

em vez disso, como a -eopção permite que você use o novo \ncaractere de linha .


3

Apenas para adicionar à resposta de akira

Opção 4:

use ctrl-v ctrl-mcombinações de teclas duas vezes para inserir dois caracteres de controle de nova linha no terminal. Ctrl-v permite inserir caracteres de controle no terminal. Você pode usar a tecla Enter ou Return em vez do ctrol-m, se desejar. Ele insere a mesma coisa.

Isso acaba parecendo echo text^M^M >> file.conf


2
Se você precisar de feeds de linha em vez de retornos de carro (linux / unix), tente echo "text^J^J" >> file.confDigitar ^ J, na verdade, pode inserir uma nova linha literal, apenas coloque as aspas e será bom.
Darth Android
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.