繁体   English   中英

grep行在文件中包含确切的字符串

[英]grep lines contain exact string in a file

我的文件包含很多行
我想grep行包含一个使用变量的字符串,该字符串类似于uri:

/wp-admin/admin-ajax.php

我只想grep行包含确切的uri:

/wp-admin/admin-ajax.php

并且不要提取这样的行:

/wp-admin/admin-ajax.php?blahblah

示例文件:

4.2.2.4 sitename.com/wp-admin/admin-ajax.php
4.2.2.4 sitename.com/wp-admin/admin-ajax.php?
4.2.2.4 sitename.com/wp-admin/admin-ajax.php?blah
4.2.2.4 sitename.com/wp-admin/admin-ajax.php?blahblah

搜索主题:

sitename.com/wp-admin/admin-ajax.php

应该提取这样的行:

4.2.2.4 sitename.com/wp-admin/admin-ajax.php

在grep中添加-F选项,以告诉它使用字符串而不是regexp和-x来处理整行:

grep -x -F "$variable"

请参见手册页。

考虑到您的更新问题:

$ awk -v tgt='sitename.com/wp-admin/admin-ajax.php' '$NF==tgt' file
4.2.2.4 sitename.com/wp-admin/admin-ajax.php

这个怎么样:

awk 'NR==FNR{a[$0]; next} $1 in a' pattern.txt data_file.txt

假设您将数据保存在data_file.txt如下所示:

www.sitename.com/admin/index.php
www.sitename.com/admin
www.sitename.com/
...

您要在另一个文件中标识的内容,例如pattern.txt ,例如:

www.sitename.com/admin

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM