【发布时间】:2014-11-28 21:30:33
【问题描述】:
我正在尝试在 device_uuid: 和立即数之间提取字符串,
d
device_uuid:xxx,yyy,ttt
device_uuid:2,ppp,hhh
代码:
$ sed -e 's/device_uuid:\(.*\),/\1/' d
xxx,yyyttt
2,ppphhh
预期 o/p:
xxx
2
编辑1:
我在 AIX 上无法使用 grep -oP
使用 awk 失败:
d
device_uuid:xxx,yyy,ttt
ptr,ttt
device_uuid:2,ppp,hhh
total_uuid:5,jkl,mno
device_uuid:9
$ awk -F 'total_uuid:|,' '{print $2}' d
yyy
ttt
ppp
5
上述情况下的预期 o/p:
blank or device_uuid:xxx,yyy,ttt
blank or ptr,ttt
blank or device_uuid:2,ppp,hhh
5
blank or device_uuid:9
device_uuid: 不必是第一列,同样所有都可以是随机的,但我需要选择该变量对应的 vale 直到立即分隔符,
-- 剪切也失败,因为它只能接受一个字符分隔符。
-- $ perl -l -ne '/device_uuid:([\w\-]*?)\,/g and print($1)' d
perl 以上也失败了,因为如果 device_uuid 不在一行中,则该行在 o/p 中被删除,但它应该是 显示为空白
谢谢。
【问题讨论】: