2013-01-07 104 views

回答

2

這應做到:

# space seperated 
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1 \2/p" file 
FIELD1 FIELD2 

# newline seperated 
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1\n\2/p" file 
FIELD1 
FIELD2 

或者使用greppositive lookbehind

$ grep -Po "(?<=_LANG\[')[^']*" file 
FIELD1 

$ grep -Po '(?<=_LANG\[.FIELD1.\] = ")[^"]*' file 
FIELD2 
+0

不幸的是消除一切。我得到零輸出 – cbcp

+0

@cbcp該解決方案經過測試,所以我懷疑實際文件與示例稍有不同,因此發佈實際文件。 –

+0

這是一個例子: $ _LANG ['all'] =「All」; – cbcp