我想使用 sed 来做到这一点。我有 2 个文件:
keys.txt:
host1
host2
test.txt
host1 abc
host2 cdf
host3 abaasdf
我想使用sed删除test.txt中包含keys.txt中关键字的任何行。所以test.txt的结果应该是
host3 abaasdf
有人可以告诉我如何使用 sed 做到这一点吗?
谢谢
最佳答案
我建议使用 grep
(尤其是 fgrep
因为不涉及正则表达式),所以
fgrep -v -f keys.txt test.txt
还好吧。使用 sed
很快就能实现:
sed -i.ORIGKEYS.txt ^-e 's_^_/_' -e 's_$_/d_' keys.txt
sed -f keys.txt test.txt
(这会将原始 keys.txt
就地修改 - 带备份 - 为可获取的 sed 脚本。)
关于sed - 如何在下一个 sed 命令中使用管道的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12607101/