Como inserir uma linha em vários arquivos de um diretório

Para adicionar uma linha ao fim de uma arquivo use o sed:

sed "$ a texto do rodapé" arquivo_a_ser_editado

$: fim da linha
a: adiciona

Para que a edição ocorra no mesmo arquivo inclua o parâmetro -i:

sed -i "$ a texto do rodapé" arquivo_a_ser_editado
 
Use sem o -i para testar a edição.

Para adicionar uma mesma linha (uma nota de rodapé, por exemplo) em vários arquivos de um diretório:

ls *.txt | xargs sed -i  "$ a texto do rodapé"

O xargs passa para o sed os nomes dos arquivos como parâmetro para o sed.

Bônus: Para adicionar um cabeçalho aos arquivos use endereço da linha, Ni, onde N é o número da linha onde será inserido o texto (para o cabeçalho, em geral, é o número 1):

sed "1i cabeçalho" arquivo_a_ser_editado

Para a edição no próprio arquivo:

sed -i "1i cabeçalho" arquivo_a_ser_editado

E, para inserir o cabeçalho em vários arquivos:

ls *.txt | xargs sed -i  "1i cabeçalho"

Para um sub-cabeçalho na segunda linha:

ls *.txt | xargs sed -i  "2i sub-cabeçalho"

Nenhum comentário:

Postar um comentário