私は各列に2列と500行のデータファイルを持っています。私はこれを行う、awkはデータファイルの特定の行に変更します
awk 'FNR == 5 {print $2}'
、2番目の列を変更するには、0.8によって乗算言う::第二カラムの5行にアクセスするには、私はこれを行う
awk '{print $2*0.8}' inputfile
私は2番目の列を乗算したい場合は、 1行目から10行目までawkコマンドを変更するには?
私は各列に2列と500行のデータファイルを持っています。私はこれを行う、awkはデータファイルの特定の行に変更します
awk 'FNR == 5 {print $2}'
、2番目の列を変更するには、0.8によって乗算言う::第二カラムの5行にアクセスするには、私はこれを行う
awk '{print $2*0.8}' inputfile
私は2番目の列を乗算したい場合は、 1行目から10行目までawkコマンドを変更するには?
sample.csv:
line1,1
line2,4
line3,1
line4,1
line5,5
line6,1
line7,1
line8,1
line9,1
line10,1
line11,1
line12,1
あなたの説明は私の理解に基づいて、非常に明確ではありません。
1)ラインの1- 10から値を掛ける場合:
awk -F, 'BEGIN{OFS=","}{if(NR<=10){print $1,$2*0.8 }else{print $0}}' sample.csv
出力:
line1,0.8
line2,3.2
line3,0.8
line4,0.8
line5,4
line6,0.8
line7,0.8
line8,0.8
line9,0.8
line10,0.8
line11,1
line12,1
2)ライン1からの全ての第2の列を乗算 - 10:は
awk -F, 'BEGIN{OFS=","; result=1} (NR<=10){result *= $2} END{print result}' sample.csv
出力:出力ファイルセパレータ if-else
チェック条件
20
-F,
ファイルセパレータはカンマ OFS=","
であることを意味しています
ありがとう!あなたの答えは1)私が探していたものです。 – user3389597
[編集]あなたの質問に簡潔で、テスト可能なsamを含める入力と予想される出力。 –