0

文字列から 2 つのフィールドを取得しようとしています。次に例を示します。

$_LANG['field1'] = "field two";

返せるようにしたい: field1 fieldtwo

4

4 に答える 4

2

を使用する 1 つの方法を次に示しawkます。

awk -F "[\"']" '{ print $2, $4 }' file

結果:

field1 field two
于 2013-01-07T22:29:11.013 に答える
1
sed 's/.*'\''\(.*\)'\''.*"\(.*\)".*/\1 \2/'

シェル内で ' をエスケープ <3

于 2013-01-07T22:30:14.933 に答える
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'
于 2013-01-07T23:05:41.970 に答える
0

を使用する 1 つの方法を次に示しGNU sedます。

sed -r "s/.*'(.*?)'.*\"(.*?)\".*/\1 \2/" file

結果:

field1 field two
于 2013-01-08T00:11:17.900 に答える