我試圖提取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:
不能使用的grep -OP由於我在AIX
使用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
預期○在上述情況下/ 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:不必是第一列,就像明智的一切都可以是隨機的,但我需要選擇變量對應的值直到立即分隔符,
- 剪切也失敗,因爲它只能接受一個字符分隔符。
- $ perl -l -ne '/device_uuid:([\w\-]*?)\,/g and print($1)' d
以上的perl也失敗,因爲,如果device_uuid不存在於一條線則該線在O/P刪除,但應 顯示爲空白
由於。
如何在AIX中使用-oP?它不支持這些選項? – user2711819 2014-10-03 19:59:46
那麼你沒有提到有問題的AIX。無論如何,你可以使用我的awk命令。 – anubhava 2014-10-03 20:00:53
已更新問題 – user2711819 2014-10-03 20:10:03