Você pode usar a opção -f
para tornar o comando sed
read do arquivo:
sed -f delete.lineno.txt < my.file.txt
Tenho cerca de 14 mil linhas para excluir de um arquivo. Eles estão em outro arquivo:
$ cat delete.lineno.txt
12d
23d
24d
78d
...
..
etc.
Eu preciso excluir as linhas 12, 23,24,78 etc de um arquivo, digamos my.file.txt.
Como posso implementar isso usando sed
?
Você pode usar a opção -f
para tornar o comando sed
read do arquivo:
sed -f delete.lineno.txt < my.file.txt
Não use sed
- não é a ferramenta para este trabalho. Use ex
, um superconjunto de ed
.
tac delete.lineno.txt > cmds
echo 'w!' >> cmds
echo 'q!' >> cmds
ex -s file < cmds
Exclua da parte de trás do arquivo para evitar bagunçar a numeração de linhas enquanto você exclui.
Tags sed