我有一个 CSV 文件,我想将特定列转换为小写。在linux中这样做的有效方法是什么?
问问题
2009 次
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 的回答在 perl 中做同样的事情,它是从 0 开始的;确保选择正确的索引。
编辑:正如 melpomene 正确指出的那样,这两种情况都只适用于没有引号或转义的简单 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 回答