与grep -w更紧密的单词边界

时间:2013-10-04 13:39:59

标签: shell grep

[root]grep -w "/opt/VRTSodm/lib/libodm64.so" PACKAGE/VRTSodm_f2
/opt/VRTSodm/lib/libodm64.so -r-xr-xr-x
/opt/VRTSodm/lib/libodm64.so.1 -r-xr-xr-x

我希望输出只作为第一个字符串

3 个答案:

答案 0 :(得分:0)

您只需在表达式的末尾添加一个空格,它就适用于您提供的示例。

答案 1 :(得分:0)

-w选项仅要求匹配由非白蛋白药物限制。如果您有更严格的要求,则需要明确指定它们。

由于普通grep不支持开箱即用的分组和更改,我在这里使用grep -E(又名egrep):

grep -E '(^|[[:space:]])/opt/VRTSodm/lib/libodm64.so([[:space:]]|$)' PACKAGE/VRTSodm_f2

答案 2 :(得分:0)

使用-o选项。它只会打印该行的匹配部分:

grep -o '/opt/VRTSodm/lib/libodm64\.so\.1\?' your_file