sed '1458,$d'
Você pode usar isso com -i
para editar o arquivo, se necessário.
por exemplo
sed -i '1458,$d' filename.txt
Eu tenho um arquivo com muitas linhas.
Eu quero excluir da linha 1458 para o final do arquivo. Acho que posso fazer isso com sed
, mas não sei como.
Existem muitas possibilidades para isso, mas se o arquivo for muito grande, é melhor parar o processamento de qualquer linha após determinada posição e simplesmente sair. É exatamente para isso que o comando q
foi criado em sed
:
sed 1458q file
$ head -n 1458 myfile > myfile.tmp ; mv myfile.tmp myfile
Nota: No meu conhecimento, não há uma maneira clara de encurtar um arquivo (no bash / shell etc) com base no número de linhas, isso não envolve a criação de um novo arquivo primeiro (que é o sed, ou sed - i (n place) faz.) Isso é importante se o espaço em disco restante for insuficiente para acomodar o arquivo recém-gravado. Nesse caso, se você puder adivinhar aproximadamente quanto ao tamanho do novo arquivo, truncar -s {número de bytes} myfile faz cortar o final do arquivo, sem criar um novo. / p>