파일에서 파일 줄 제거

파일에서 파일 줄 제거

파일에서 제거하고 싶은 줄이 약 14,000개 있습니다. 다른 파일에 있습니다:

$ cat delete.lineno.txt
12d
23d
24d
78d
...
..

etc.

my.file.txt 파일에서 12, 23, 24, 78행 등을 제거해야 합니다. 이를 달성하려면 어떻게 해야 합니까 sed?

답변1

-f옵션을 사용하여 sed파일에서 명령을 읽을 수 있습니다 .

sed -f delete.lineno.txt < my.file.txt

답변2

사용하지 마십시오 sed. 작업에 적합한 도구가 아닙니다. ex의 상위 집합을 사용합니다 ed.

tac delete.lineno.txt > cmds
echo 'w!' >> cmds
echo 'q!' >> cmds
ex -s file < cmds

삭제할 때 줄 번호가 엉키지 않도록 파일 뒤에서 삭제하세요.

관련 정보