当另一个文件中存在同一行时,有很多关于如何删除一个文件中的行的示例.我已经通读了它们,如果整行匹配,它们都会删除.例如:grep -vxF -f file1 file2
我所拥有的略有不同.我有一个来自我的网站和我的客户网站的URL列表.当域与另一个文件中的域匹配时,我想从该文件中删除行.
http://www.site1.com/some/path
http://www.site2.com/some/path
http://www.site3.com/some/path
http://www.site4.com/some/path
第二个文件可能是:
site2.com
www.site4.com
我希望输出为:
http://www.site1.com/some/path
http://www.site3.com/some/path
解决方法:
你有太多的grep标志.具体来说:-x将阻止您获得所需的结果.
假设file1具有模式,而file2具有URL,只需使用:
grep -v -f file1 file2
-x标志将阻止您获得所需的结果:使用-x表示:仅匹配整行,即仅在行完全匹配时才匹配行,例如: site2.com.
从男人grep:
-x, –line-regexp
Select only those matches that exactly match the whole line.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。