別の列の値を連結して表に列を追加する

別の列の値を連結して表に列を追加する

次のようないくつかのテーブルがありますcsv

YEAR;MONTH;DAY;RES1;RES2
1971;1;1;1206.1;627
1971;1;2;1303.4;654.3
1971;1;3;1248.9;662
1971;1;4;1188.8;666.8

ここで、MONTHとDAY列の値を結合する新しい列を作成したいと思います。したがって、出力は次のようになります。

YEAR;MONTH;DAY;RES1;RES2;MONTHDAY
1971;1;1;1206.1;627;11
1971;1;2;1303.4;654.3;12
1971;1;3;1248.9;662;13
1971;1;4;1188.8;666.8;14

答え1

ヘッダ行もマージして嬉しいので簡単です。awk

awk -F';' -vOFS=';' '{ $(NF+1)=$2$3 ; print}'

$(NF+1)既定では、次の新しいフィールドを追加し、$2$3これらのフィールドをマージします。OFS=';'フィールドは区切り文字で出力されます;

関連情報