O headcomando pode obter as primeiras nlinhas. As variações são:
head -7 file
head -n 7 file
head -7l file
que obterá as primeiras 7 linhas do arquivo chamado "file". O comando a ser usado depende da sua versão do head. O Linux funcionará com o primeiro.
Para anexar linhas ao final do mesmo arquivo, use:
echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file
ou:
echo 'first line to add
second line to add
third line to add' >>file
para fazer isso em um golpe.
Então, juntando essas duas ideias, se você quisesse obter as primeiras 10 linhas do input.txtarquivo output.txte acrescentar uma linha com cinco "="caracteres, poderia usar algo como:
( head -10 input.txt ; echo '=====' ) > output.txt
Nesse caso, fazemos ambas as operações em um sub-shell para consolidar os fluxos de saída em um, que é então usado para criar ou sobrescrever o arquivo de saída.
head -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv
Respostas:
O
head
comando pode obter as primeirasn
linhas. As variações são:que obterá as primeiras 7 linhas do arquivo chamado
"file"
. O comando a ser usado depende da sua versão dohead
. O Linux funcionará com o primeiro.Para anexar linhas ao final do mesmo arquivo, use:
ou:
para fazer isso em um golpe.
Então, juntando essas duas ideias, se você quisesse obter as primeiras 10 linhas do
input.txt
arquivooutput.txt
e acrescentar uma linha com cinco"="
caracteres, poderia usar algo como:Nesse caso, fazemos ambas as operações em um sub-shell para consolidar os fluxos de saída em um, que é então usado para criar ou sobrescrever o arquivo de saída.
fonte
Estou assumindo que o que você está tentando alcançar é inserir uma linha após as primeiras linhas de de um arquivo de texto.
Se você não quiser o resto das linhas do arquivo, apenas pule a parte final.
fonte
(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
Primeiras linhas:
man head
.Anexar linhas: use o
>>
operador (?) No Bash:fonte