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