我正在寻找从字符串中获取两个字段。这是示例:
$_LANG['field1'] = "field two";
我希望能够返回:field1 fieldtwo
这是一种使用方法awk
:
awk -F "[\"']" '{ print $2, $4 }' file
结果:
field1 field two
sed 's/.*'\''\(.*\)'\''.*"\(.*\)".*/\1 \2/'
转义 ' 在 shell <3
这是一种使用方法GNU sed
:
sed -r "s/.*'(.*?)'.*\"(.*?)\".*/\1 \2/" file
结果:
field1 field two
sed -ey:\"\':\\n\\n: -e'/[^\n]*\n/s:::;/\n[^\n]*\n/s:: :;/\n.*$/sxxx' FILE
其他可能性:
sed -ey:\"\':\\n\\n: -e'/[^\n]*\n\([^\n]*\)\n[^\n]*\n\([^\n]*\)\n.*/ sxx\1 \2x'
其他变体:
cat FILE | tr [\'\"] \\n\\n | sed '3h;6H;${x;s:\n: :p};d'