Android

Bash: anexar ao arquivo

Bash e Terminal Linux - II - Operações de Diretório

Bash e Terminal Linux - II - Operações de Diretório

Índice:

Anonim

No Bash, há várias maneiras de acrescentar texto a um arquivo. Este artigo explica alguns deles.

Para anexar texto a um arquivo, você precisa ter permissões de gravação. Caso contrário, você receberá um erro de permissão negada.

Anexar a um arquivo usando o operador de redirecionamento ( >> )

O redirecionamento permite capturar a saída de um comando e enviá-la como entrada para outro comando ou arquivo. O operador de redirecionamento >> anexa a saída a um determinado arquivo.

Existem vários comandos que você pode usar para imprimir texto na saída padrão e redirecioná-lo para o arquivo, sendo echo e printf os mais utilizados.

Para anexar texto a um arquivo, especifique o nome do arquivo após o operador de redirecionamento:

echo "this is a new line" >> file.txt

Quando usado com a opção -e o comando echo interpreta os caracteres com escape de barra invertida, como nova linha :

echo -e "this is a new line \nthis is another new line" >> file.txt

Se você deseja produzir uma saída mais complexa, use o comando printf que permite especificar a formatação da saída:

printf "Hello, I'm %s.\n" $USER >> file.txt

Outra maneira de acrescentar texto a um arquivo é usar o documento Here (Heredoc). É um tipo de redirecionamento que permite passar várias linhas de entrada para um comando.

Por exemplo, você pode passar o conteúdo para o comando cat e anexá-lo a um arquivo:

cat «EOF» file.txt O diretório de trabalho atual é: $ PWD Você está logado como: $ (whoami) EOF

Você pode anexar a saída de qualquer comando a um arquivo. Aqui está um exemplo com o comando date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Ao anexar a um arquivo usando um redirecionamento, tenha cuidado para não usar o operador > para substituir um arquivo existente importante.

Anexar a um arquivo usando o comando tee

tee é um utilitário de linha de comando no Linux que lê da entrada padrão e grava na saída padrão e em um ou mais arquivos ao mesmo tempo.

Por padrão, o comando tee substitui o arquivo especificado. Para anexar a saída ao arquivo, use tee com a opção -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

A vantagem de usar o comando tee sobre o operador >> é que o tee permite anexar texto a vários arquivos de uma vez e gravar em arquivos pertencentes a outros usuários em conjunto com o sudo .

Para anexar texto a um arquivo para o qual você não tem permissão de gravação, acrescente o sudo antes do tee como mostrado abaixo:

echo "this is a new line" | sudo tee -a file.txt

tee recebe a saída do comando echo , eleva as permissões do sudo e grava no arquivo.

Para anexar texto a mais de um arquivo, especifique os arquivos como argumentos para o comando tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Conclusão

No Linux, para anexar texto a um arquivo, use o operador de redirecionamento >> ou o comando tee .

terminal bash