Escrevendo a partir de um certo número de linha em um arquivo de texto

7

Em um script bash eu quero escrever algumas linhas em um arquivo de texto, mas este arquivo já foi usado antes e há textos nele. Então, quero fazer eco de um texto adicional, a partir de um certo número de linha no arquivo.

Eu quero algo assim:

echo -fromLineNumber 33 -e "anything" >> textPath
    
por Ahmed Zain El Dein 14.05.2013 / 19:15

2 respostas

13

Você pode usar sed para escrever em uma linha específica.

tente isto:

    sed -i '33ianything' textpath

ou

    sed -i '33i\anything' textpath

Ele irá inserir "qualquer coisa" na linha número 33.

    
por 14.05.2013 / 19:35
1

Para manter as primeiras 32 linhas e adicionar novo texto depois:

head -n 32 oldfile > newfile
echo anything >> newfile
echo goes >> newfile
echo here >> newfile

Para inserir algum texto após a linha 32 de um arquivo:

sed -e '32s/$/\nanything\ngoes\nhere/' oldfile > newfile
    
por 14.05.2013 / 19:24