特定のIDに関連付けられた文字列を置き換える

特定のIDに関連付けられた文字列を置き換える

input.txtのIDが4000以上の行の最後の列要素のみを文字列「P」に置き換えるにはどうすればよいですか?

つまり、最初の行(ID = 4304)と3番目の行(ID = 4000)の最後の要素(「N」と「C」)を「P」に置き換えたいと思います。

入力.txt

4304,N,-9.700,-7.680,58.330,-2.3,N
2940,S,-10.440,-3.450,54.270,2.2,S
4000,C,-13.655,-13.730,59.405,-1.5,C
2931,C,-9.910,-2.420,57.610,0.2,C

出力.txt

4304,N,-9.700,-7.680,58.330,-2.3,P
2940,S,-10.440,-3.450,54.270,2.2,S
4000,C,-13.655,-13.730,59.405,-1.5,P
2931,C,-9.910,-2.420,57.610,0.2,C

私は何をすべきですか?ありがとうございます!

ベストアンサー1

次の操作が実行されます。

awk -F, '$1=="4304" || $1=="4000" {$NF="P"}1 ' OFS=, input.txt >output.txt

おすすめ記事