テキストファイルから列9を読み取り、列11を同じファイルに置き換えます。

テキストファイルから列9を読み取り、列11を同じファイルに置き換えます。

「〜」区切り文字を使用してテキストファイルの9番目の列を読み取り、テーブル内の対応する11番目の列のデータを取得する必要があります。現在NULL値を持つファイルの列11のデータを置き換える必要があります。

Unixでこれを達成する方法。

col1~col2~col3~col4~col5~col6~col7~col8~col9~col10~col11~col12~col13

data1~data2~data3~data4~data5~data6~data7~data8~data9~data10~~data12~data13

データ data11 が null です。それで、data9の対応する値を取得してdata11を変更したいと思います。

ありがとう

ベストアンサー1

列9のみ列11にコピーするには、次のスクリプトを使用できます。

awk 'BEGIN {FS="~"; OFS="~"}{$11=$9; print}' <filename>

最初のファイルに1行しかない場合は、次のことができます。

awk -v val=$(awk -F\~ '{print $9}' <filename b>) 'BEGIN {FS="~"; OFS="~"}{$11=val; print}' <filename a>

おすすめ記事