Windows 在大型CSV文件中搜索和修改列
我有一些大的CSV文件,格式如下(用逗号分隔) 现在我想完成这项任务Windows 在大型CSV文件中搜索和修改列,windows,perl,unix,sed,awk,Windows,Perl,Unix,Sed,Awk,我有一些大的CSV文件,格式如下(用逗号分隔) 现在我想完成这项任务 第2列和第3列的倍数为100 结果应该是这样的 2014.03.11 14:59:59.146,6715.47,6715.507,0.02,0.02 2014.03.11 14:59:59.206,6715.405,6715.437,0.02,0.02 2014.03.11 14:59:59.506,6715.552,6715.589,0.02,0.02 2014.03.11 14:59:59.707,6715.581,6
- 第2列和第3列的倍数为100
2014.03.11 14:59:59.146,6715.47,6715.507,0.02,0.02
2014.03.11 14:59:59.206,6715.405,6715.437,0.02,0.02
2014.03.11 14:59:59.506,6715.552,6715.589,0.02,0.02
2014.03.11 14:59:59.707,6715.581,6715.616,0.02,0.02
非常感谢您的帮助。谢谢这个
awk
应该可以:
awk '{$2*=100;$3*=100}1' FS=, OFS=, file
2014.03.11 14:59:59.146,6715.47,6715.51,0.02,0.02
2014.03.11 14:59:59.206,6715.4,6715.44,0.02,0.02
2014.03.11 14:59:59.506,6715.55,6715.59,0.02,0.02
2014.03.11 14:59:59.707,6715.58,6715.62,0.02,0.02
您可以使用
$2=$2*100
或仅使用$2*=100
将列乘以100
此awk
应执行以下操作:
awk '{$2*=100;$3*=100}1' FS=, OFS=, file
2014.03.11 14:59:59.146,6715.47,6715.51,0.02,0.02
2014.03.11 14:59:59.206,6715.4,6715.44,0.02,0.02
2014.03.11 14:59:59.506,6715.55,6715.59,0.02,0.02
2014.03.11 14:59:59.707,6715.58,6715.62,0.02,0.02
perl -F/,/ -lape "$F[$_] *= 100 for (1,2); $_ = join',', @F;" < input.csv > output.csv
您可以使用$2=$2*100
或仅使用$2*=100
将列乘以100
perl-F/,/-lape“$F[$\]*=100表示(1,2);$\=join',,@F;”output.csv
perl -F/,/ -lape "$F[$_] *= 100 for (1,2); $_ = join',', @F;" < input.csv > output.csv
perl-F/,/-lape“$F[$\u]*=100表示(1,2);$\uz=join',',@F;”output.csv
欢迎您,如果答案是您喜欢的,请通过选中它旁边的复选框接受:)欢迎您,如果答案是您喜欢的,请通过选中它旁边的复选框接受:)