파일에서 제거하고 싶은 줄이 약 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
삭제할 때 줄 번호가 엉키지 않도록 파일 뒤에서 삭제하세요.