我正在使用awk进行多对一过滤,即读取多个.csv文件,并使用条件将这些文件中的记录过滤到另一个csv文件中。该命令是
awk -F, '{if($1=="OPTSTK"&&$13>0)print > "stockoptions.csv";}' fo1.csv fo2.csv
该命令为我完成了工作,除了当我对一组新的csv文件(例如fo3.csv和fo4.csv)运行此命令时,先前命令执行的输出将被覆盖。有没有一种方法可以将后续执行的输出附加到命令的第一次执行的输出?
是的,使用>>
代替>
。
例如:
awk -F, '$1 == "OPTSTK" && $13 > 0 { print >> "stockoptions.csv" }' fo1.csv fo2.csv
或者,让外壳执行重定向并缩短awk
命令的长度:
awk -F, '$1 == "OPTSTK" && $13 > 0' fo1.csv fo2.csv >>"stockoptions.csv"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句