apaga linhas de um arquivo de um arquivo

0

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 ?

    
por aroraa 20.05.2015 / 17:25

2 respostas

2

Você pode usar a opção -f para tornar o comando sed read do arquivo:

sed -f delete.lineno.txt < my.file.txt
    
por 20.05.2015 / 17:33
0

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.

    
por 20.05.2015 / 17:32

Tags