Como escrever em um arquivo em bash

Como escrever em um arquivo em bash

Ler e escrever os arquivos é uma das tarefas comuns ao escrever scripts bash. Por exemplo, salvar a saída de um comando em um arquivo ou simplesmente manipular os arquivos em comandos diferentes são usados. Existem várias maneiras de escrever qualquer arquivo no Bash através do terminal e se você estiver encontrando maneiras de escrever qualquer arquivo durante o script, leia este guia.

Escrevendo o arquivo em bash

Como mencionado acima, existem várias maneiras de escrever qualquer arquivo durante o script de bash e abaixo estão algumas maneiras de escrever um arquivo no Bash:

  • Usando operadores direcionais
  • Usando o comando tee
  • Usando heredoc
  • Usando o comando printf

Usando operadores direcionais

Geralmente, existem dois operadores direcionais que se pode usar para escrever um arquivo durante o script Bash, um é um único suporte de ângulo ">" e o outro é o suporte de ângulo duplo ">>". A principal diferença entre os dois é que ">" substitui os dados que estavam presentes anteriormente no arquivo com os novos dados, enquanto “>> ” Por outro lado, apenas adiciona os novos dados no arquivo.

Para usar qualquer um dos operadores direcionais abaixo, é a respectiva sintaxe que se deve seguir:

$ eco <“data”>

Por exemplo, para adicionar dados a qualquer arquivo que esteja em branco atualmente ou para substituir os dados em qualquer arquivo, use a sintaxe mencionada acima:

$ echo “hello linuxhint 1”> myfile.TXT

Em seguida, para usar ">>" Operador direcional para adicionar quaisquer dados no arquivo que usei a sintaxe mencionada acima:

$ echo “hello linuxhint 2” >> myfile.TXT

Lembre-se de que a sintaxe acima mencionada não apenas escreve o arquivo, mas também criará um arquivo se não houver nenhum.

Usando o comando tee

Outra maneira de escrever qualquer arquivo durante o script de bash é usando o comando tee e abaixo é a sintaxe fornecida para usar este comando:

$ eco "dados" | Tee

Por exemplo, se eu quiser adicionar dados a qualquer arquivo, a sintaxe mencionada acima pode ser usada assim:

$ echo “Bem -vindo ao Linuxhint” | tee myfile.TXT

Lembre -se de que a sintaxe acima usada é benéfica não apenas para escrever os dados, mas também pode ser usada se alguém quiser substituir os dados atualmente presentes no arquivo com os novos dados.

Então, se você deseja manter os dados atuais e deseja escrever o arquivo com um novo conjunto de dados, use -a Sinalize com a sintaxe dada como:

$ eco “saudações” | Tee -a MyFile.TXT

Se você deseja adicionar os mesmos dados a vários arquivos, este comando pode ser de grande ajuda, o Tee O comando pode ser usado para tais propósitos como este:

$ eco “saudações” | Tee -a myfile1.txt myfile2.txt myfile3.TXT

Outro benefício de usar este comando é que se pode editar um arquivo de propriedade dos outros usuários com a ajuda de usar privilégios de administrador como este:

$ eco "Este é um arquivo de teste" | sudo tee -a myfile1.TXT

Usando o comando printf

Como as maneiras acima mencionadas não dão a liberdade ao usuário para adicionar formatação aos dados, portanto, se você deseja adicionar formatação específica aos dados, então printf pode ser usado assim:

$ printf “Saudações de Linuxhint \ \ ntis é um arquivo de teste.\ n ”>> myfile1.TXT

Usando heredoc

Outra maneira de escrever um arquivo em Bash é usando o aqui documento Formato, não é nenhum tipo de comando, mas é mais como um formato que se pode seguir para escrever várias linhas de dados, abaixo está o formato do heredoc:

gato << [delimiter]
dados…
[delimitador]

Aqui no gato de sintaxe é usado para ler os dados e o delimitador é uma espécie de limite para os dados; Pode ser um nome de string ou arquivo. Na prática normal, geralmente o final ou o EOF é usado como delimitador, mas tudo depende da preferência do usuário.

Por exemplo, eu criei um .Arquivo SH e usou o formato de heredoc como este:

#! /BIN/BASH
gato << MYFILE
Saudações de Linuxhint
Este é um arquivo de teste criado usando heredoc
MEU ARQUIVO

Agora, para ver se os dados são salvos corretamente, vamos executar este arquivo usando:

$ bash mybashscript.sh

Conclusão

Escrever arquivos enquanto o script de bash em um sistema Linux é um trabalho difícil se não tiver um bom conhecimento de usar comandos Linux. Este guia fornece 4 maneiras de escrever qualquer arquivo enquanto scripts bash que são: usando operadores direcionais, Tee comando, printf e heredoc.