我想从字符串中获取两个字段。这是一个例子:
$_LANG['field1'] = "field two";
我希望能够返回:field1 fieldtwo
答案 0 :(得分:2)
这是使用awk
的一种方式:
awk -F "[\"']" '{ print $2, $4 }' file
结果:
field1 field two
答案 1 :(得分:1)
sed 's/.*'\''\(.*\)'\''.*"\(.*\)".*/\1 \2/'
在shell中转义'< 3
答案 2 :(得分:0)
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'
答案 3 :(得分:0)
这是使用GNU sed
的一种方式:
sed -r "s/.*'(.*?)'.*\"(.*?)\".*/\1 \2/" file
结果:
field1 field two