Supondo que eu tenho uma linha que eu quero adicionar a um arquivo sem abrir um editor.
Como eu poderia acrescentar esta linha
alias list='ls -cl --group-directories-first'
para este arquivo
config.fish
Supondo que eu tenho uma linha que eu quero adicionar a um arquivo sem abrir um editor.
Como eu poderia acrescentar esta linha
alias list='ls -cl --group-directories-first'
para este arquivo
config.fish
Você pode anexar uma linha de texto a um arquivo usando o >>
operador:
echo "hello world" >> my_file.txt
ou no seu caso
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Por favor, tome nota dos diferentes tipos de citações .
>
, o arquivo truncará, não acrescentará. Para um comando mais seguro, você pode usar o sed:sed -i '$a hello world' filename
-i
atualizará o arquivo (caso contrário, apenas imprimirá o resultado em stdout),$
é uma expressão regular que corresponderá ao final do arquivo ea
anexará o seguinte texto ao nome do arquivo.echo "hello world" >> my_file.txt
não cria uma nova última linha comHW
, mas a adiciona à string da última linha.HW
@timo?echo
isso que adiciona a quebra de linha (tornando-a uma linha em oposição a apenas um monte de caracteres). Você pode desativar a quebra de linha no final com-n
.Existem muitos métodos de anexar arquivos sem abrir editores de texto, principalmente por meio de vários utilitários de processamento de texto disponíveis no Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
fonte
Adicionando a resposta de Stefano , você também pode usar
cat
:Usando um heredoc:
<<'EOF'
significa "tome o seguinte como entrada, até chegar a uma linha que é justaEOF
". As aspas significam receber a entrada literalmente.Ou introduzindo a linha no stdin:
Em seguida, cole ou digite a linha, pressione Enterpara ir para uma nova linha e pressione Ctrl + D para marcar o final.
fonte