我有一个字符串,我需要抓住两个部分 - 它们因PHP文件而异。希望有人可以提供帮助,字符串是:
$_LANG['FIELD1'] = "FIELD2";
我需要抓住FIELD1和FIELD2
答案 0 :(得分: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
或grep
使用positive lookbehind:
$ grep -Po "(?<=_LANG\[')[^']*" file
FIELD1
$ grep -Po '(?<=_LANG\[.FIELD1.\] = ")[^"]*' file
FIELD2
答案 1 :(得分:1)
awk -F "[\"']" '{ print $2, $4 }' file