4

CSVファイルがあり、特定の列を小文字に変換したいと思います。Linuxでこれを行う効率的な方法は何ですか?

4

2 に答える 2

5
awk -F"," 'BEGIN{OFS=","} {$5 = tolower($5); print}' file

5番目のフィールドを変更します。

それもあり-v OFS=","ますが、それがどれほど標準的であるかは100%確実ではありません。また、周りの引用符は省略,できますが、一般性のために引用符を付けておきました。したがって、バリアントとして:

awk -F, -v OFS=, '{$5 = tolower($5); print}' file

awkフィールドは1ベースであることに注意してください。sarathiの答えは、0ベースのperlでも同じことをします。必ず正しいインデックスを選択してください。

編集:メルポメネが正しく指摘しているように、どちらの場合も引用符やエスケープのない単純なCSVでのみ機能します。

于 2012-11-26T06:05:51.133 に答える
0

たとえば、colum3を小文字に変換する場合:

perl -F -lane '$F[2]=lc($F[2]);print "@F"' your_file
于 2012-11-26T06:07:10.777 に答える