Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在大型CSV文件中搜索和修改列_Windows_Perl_Unix_Sed_Awk - Fatal编程技术网

Windows 在大型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

我有一些大的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,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

欢迎您,如果答案是您喜欢的,请通过选中它旁边的复选框接受:)欢迎您,如果答案是您喜欢的,请通过选中它旁边的复选框接受:)