1

この形式のフィールドと値を含むサンプル ログ ファイルがあります。

value1 value2
 50    100

value3 value4 
 10      150   

value5
 200

フィールドと値をこの形式の何かに抽出する必要があります

value1=50
value2=100
value3=10
value4=150
value5=200
4

4 に答える 4

0

これはあなたのために働くかもしれません:

sed '/^$/d;N;:a;s/\([^ \n]*\) *\([^\n]* *\n\) *\([^ \n]*\) *\(.*\)/\2\4\n\1=\3/;/^\n\n/!ba;s///' file
于 2012-05-09T09:54:32.727 に答える
0
awk '/value/ {
                 if ((getline values) > 0) {
                     split(values, array)
                     for (i = 1; i <= NF; i++)
                         print $i "=" array[i]
                 }
              }' inputfile

代わりに/value/使用する可能性があります/[[:alpha:]]/

于 2012-05-08T15:16:09.427 に答える
0

この awk を試してください:

gawk '{split($0,n_arr," "); getline; n=split($0,v_arr," "); getline; for (i=1;i<=n;i++){print n_arr[i] "=" v_arr[i]}}'
于 2012-05-08T15:18:29.373 に答える
0
awk '
    NF==0 {next}
    var[1] == "" {for (i=1; i<=NF; i++) var[i]=$i; next}
    {for (i=1; i<=NF; i++) {print var[i] "=" $i; delete var[i]}}
'
于 2012-05-08T15:19:12.797 に答える