我想在下一个文件中精确搜索字符串/etc
:
-14: _etcrpm /etc/rpm
-14: _nssdb_path /etc/pki/nssdb
-14: _rpmds_ldconfig_cache /etc/ld.so.cache
-14: _sysconfdir /etc
-DKDE_DISTRIBUTION_TEXT="%(cat /etc/mandriva-release)" \
-14: distepoch %(sed -e 's#.*release\ \(\S*\).*#\1#' /etc/release)
-14: distro_class %(. /etc/sysconfig/system; echo $META_CLASS)
我希望在grep的输出中显示包含 “/ etc”的行
-14: _sysconfdir /etc
有人可以帮助我吗?
谢谢
答案 0 :(得分:1)
这应该有效:
grep -P "(?<=\s)/etc(?=\s|$)" file
或者:
grep -E "\s/etc(\s|$)" file
或者:
grep "[[:space:]]/etc\([[:space:]]\|$\)" file
输出:
-14: _sysconfdir /etc
-P
适用于Perl正则表达式。
-E
用于扩展正则表达式。
答案 1 :(得分:0)
在这种情况下,您可以使用awk检查最后一个单词是否为&#34; / etc&#34;
awk '$NF == "/etc" file