特定の列値のコンマを置き換える

特定の列値のコンマを置き換える

6つの列を持つファイルがあり、各フィールドは「I」で区切られ、最後の列の2番目の列には金額フィールドが含まれています。

140121059|01/01/201400:00:45|[1390]|[387]|17.64|10
140121060|01/01/201400:00:46|[1112]|[867]|26.46|10
140121062|01/01/201400:00:47|[182]|[13]|4,117.60|10
140121065|01/01/201400:00:48|[1088]|[385]|1,147.04|10

この列に対して一部の操作を実行できないため、金額列から「、」を削除したいと思います。 「、」はすべての列に表示されません。バッシュを使っています。

ベストアンサー1

あなたはそれを使用することができますawk

$ awk -F'|' '{sub(",","",$(NF-1))}1' OFS='|' file
140121059|01/01/201400:00:45|[1390]|[387]|17.64|10
140121060|01/01/201400:00:46|[1112]|[867]|26.46|10
140121062|01/01/201400:00:47|[182]|[13]|4117.60|10
140121065|01/01/201400:00:48|[1088]|[385]|1147.04|10

$(NF-1)2番目のフィールドを参照し、そのフィールドのコンマのみを置き換えます。

すべてのフィールドからコンマを削除するには、次のものを使用できますtr

$ <file tr -d ',' > out_file 

おすすめ記事