CSVファイル(各行)の最後のフィールドを新しい文字列に置き換える方法

CSVファイル(各行)の最後のフィールドを新しい文字列に置き換える方法

データベースからデータを抽出してcsvファイルにロードするスクリプトを作成しました。私はSunOS hstz1454 5.10システムを使用しています。

データは次のとおりです。

124,Y,Y,Y,Y,S
125,Y,Y,Y,Y,B
126,Y,N,N,N,B
140,Y,Y,N,N,F

最後のフィールドは、次のマッピングに従って置き換える必要があります。

B = BENIGN
C = CUSTOMER
F = FRAME
P = PPCOS
S = STANDARD
W = W-RED

CSVファイルの最後のフィールドをどのように置き換えて、次のように変換できますか?

124,Y,Y,Y,Y,STANDARD
125,Y,Y,Y,Y,BENING
126,Y,N,N,N,BENING
140,Y,Y,N,N,FRAME

ベストアンサー1

そしてawk

awk -F'[, ]' 'FNR==NR{a[$1]=$NF;next};$NF=a[$NF]' OFS=, file2 file1

その中で、file1はキャラクターファイル、file2はデータファイルです。

おすすめ記事