这是字符串:
Usage: xp (UUID: 30503c82-bf04-4f75-ab8f-129b8b350487)
我想grep这种模式
30503c82-bf04-4f75-ab8f-129b8b350487
我可以使用 grep 和 sed 来挑选它,使用如下:
grep \(.*\) -o | sed 's/[()]//g'
我只能使用 grep 来完成此操作吗?
答案 0 :(得分:7)
您可以使用
egrep 'UUID[^\)]+' -o
将包含示例代码生成的“UUID:”前缀。
要仅获取ID,您可以使用
egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{8}' -o
行动中:
$ echo 'Usage: xp (UUID: 30503c82-bf04-4f75-ab8f-129b8b350487)' | egrep '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{8}' -o
30503c82-bf04-4f75-ab8f-129b8b35
$ echo 'Usage: xp (UUID: 30503c82-bf04-4f75-ab8f-129b8b350487)' | egrep 'UUID[^\)]+' -o
UUID: 30503c82-bf04-4f75-ab8f-129b8b350487