文字列から 2 つのフィールドを取得しようとしています。次に例を示します。
$_LANG['field1'] = "field two";
返せるようにしたい: field1 fieldtwo
を使用する 1 つの方法を次に示しawk
ます。
awk -F "[\"']" '{ print $2, $4 }' file
結果:
field1 field two
sed 's/.*'\''\(.*\)'\''.*"\(.*\)".*/\1 \2/'
シェル内で ' をエスケープ <3
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'
を使用する 1 つの方法を次に示しGNU sed
ます。
sed -r "s/.*'(.*?)'.*\"(.*?)\".*/\1 \2/" file
結果:
field1 field two