Supondo que eu tenha uma linha que eu queira adicionar a um arquivo sem abrir um editor.
Como eu poderia anexar esta linha
alias list='ls -cl --group-directories-first'
para este arquivo
config.fish
Supondo que eu tenha uma linha que eu queira adicionar a um arquivo sem abrir um editor.
Como eu poderia anexar 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:ou no seu caso
Por favor, tome nota dos diferentes tipos de cotações .
Existem muitos métodos de anexar ao arquivo sem abrir editores de texto, principalmente por meio de vários utilitários de processamento de texto disponíveis no Ubuntu. Em geral, qualquer coisa que nos permita executar
open()
syscall comO_APPEND
sinalizador adicionado, pode ser usado para anexar a um arquivo.A versão GNU do
dd
utilitário pode anexar dados ao arquivo comconv=notrunc oflag=append
Portátil, poderíamos usar algo assim no lado direito do pipeline:
Observe o uso de
bs=1
, que é para evitar leituras curtas do pipelineO
tee
comando pode ser usado quando você precisa anexar ao arquivo e enviá-lo para stdout ou para o próximo comando no pipelineawk
tem o operador append>>
que também é portátil e definido pelas especificações POSIXPodemos combinar
sed
o sinalizador 's$
para corresponder à última linhaa
para anexar e-i
editar no local.Poderíamos até implementar algo como
dd
em Python 3:Veja também:
Adicionando à resposta de Stefano , você também pode usar
cat
:Usando um heredoc:
<<'EOF'
significa "tomar o seguinte como entrada, até chegar a uma linha que é apenasEOF
". As aspas significam levar a entrada literalmente.Ou inserindo a linha em stdin:
Em seguida, cole ou digite a linha, pressione Enterpara ir para uma nova linha e pressione Ctrl+D para marcar o fim.