求shell脚本,删除一个a.txt文档中 完全包含 另外一个b.txt文档的行。

1个回答

  • cat b.txt| xargs -I {} sed -i '//d' a.txt直接修改a.txt的话,那么可以按以上命令.命令解释一下:显示b.txt,并重定向给xargs,xargs将每行锁定,然后每行执行删除匹配该字的行.{}锁定的一行(一行一字), 匹配字的结尾, d删除匹配行, i直接修改文件缺点是直接将a.txt修改了.如果不需要修改的话,那么就可以参考楼下的命令grep -v -w "" a.txt命令解释一下:在a.txt中搜索不匹配cat 命令逐行(一字一行)显示的行.-v 表示不匹配的, -w 按字匹配, 匹配字的结尾