Usando o sed, você pode escrever um conjunto de linhas em um arquivo diferente, excluindo-o do arquivo atual da seguinte forma:
sed -i -e 'N, M { w output.txt
d }' input.txt
em que N
e M
são os números de linha. A opção -i
faz sed
salvar as alterações no arquivo de origem e aqui o comando d
é excluído dessas linhas. Ao mesmo tempo, w output.txt
faz com que as linhas selecionadas sejam gravadas em output.txt
. E sim, essas são duas linhas separadas: sed
requer que o nome do arquivo do comando w
seja até uma nova linha .
Então você pode fazer algo como:
cmd=' { w output.txt
d }'
sed -i -e "1,500 $cmd" -e "1029,1729 $cmd" -e "2696,3446 $cmd" input.txt