プロが教えるわが家の防犯対策術!

awkでcsvファイルからcsvファイルへ任意の列だ置換する事はできますか?

a.csvから2列目を読み取ってb.csvの3列目に上書き保存
a.csv内容 b.csv内容 結果
1,2,3,4,5  →  a,b,c,d,e → a,b,2,d,e
6,7,8,9,10    f,g,h,i,j    f,g,7,i,j

色々のサイトを見ながらやってますがうまくいきません。
よろしくお願いします。

A 回答 (2件)

paste -d, a.csv b.csv | awk 'BEGIN{FS=",";OFS=","}{print $6,$7,$2,$9,$10}'



awk だけだと少々面倒なので手抜きしました
    • good
    • 0
この回答へのお礼

ありがとうございます。早速試してみます。

お礼日時:2015/03/13 09:44

awk -F, 'BEGIN{OFS=","}{getline x<"a.csv";split(x,a,",");$3=a[2];print}' b.csv


でしょうか。
あるいは、a.csvの2列目を最初に配列に全部記憶するか。
    • good
    • 0
この回答へのお礼

ありがとうございます。さっそく試してみます。

お礼日時:2015/03/13 09:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!