-1
[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

我只想将输出作为第一个字符串

4

3 回答 3

1

-w选项仅要求匹配以非字母为界。如果您有更严格的要求,则需要明确指定它们。

因为 plaingrep不支持开箱即用的分组和交替,所以我在这里使用grep -E(aka egrep):

grep -E '(^|[[:space:]])/opt/VRTSodm/lib/libodm64.so([[:space:]]|$)' PACKAGE/VRTSodm_f2
于 2013-10-04T15:47:59.323 回答
0

您可以简单地在表达式末尾添加一个空格,它将适用于您提供的示例。

于 2013-10-04T14:45:17.873 回答
0

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

grep -o '/opt/VRTSodm/lib/libodm64\.so\.1\?' your_file
于 2013-10-16T17:59:15.463 回答