如何在多个文件上使用awk?

问题描述 投票:0回答:1

我正在使用Linux。我写了一些看起来像这样的代码:

for x in {10..20}:{00..59}; do awk -F';' '/'"$x"'/ {y+=$7} END {print y}' Data26092019; done

如何在多个文件上使用此命令,例如:Data26092019和Data27092019?

文件是这样的:

09:55:13;ACSEL;4.850;16;77.60;1;1
09:55:13;ACSEL;4.850;40;194.00;2;1
09:55:13;ACSEL;4.850;465;2255.25;3;1
...

输出示例:

Data26092019 4988 10:00
Data26092019 2778 10:01
...
Data27092019 3252 10:00
Data27092019 3002 10:01

也许它应该与另一个for循环一起使用,或者您可以指定文件。

主要命令是:

for x in {10..20}:{00..59}; do awk -F';' '/'"$x"'/ {y+=$7} END {print y}' Data26092019; done

必须在Data26092019Data27092019上执行。

linux shell awk text-processing
1个回答
1
投票

由于OP没有提供任何样品,您可以尝试以下方法,未经测试。需要GNU awk

awk 'BEGIN{FS=";"} {sum+=$7} ENDFILE{print "Sum of minute for file: " FILENAME " is: " sum;sum=""}' Data26092019 Data27092019
© www.soinside.com 2019 - 2024. All rights reserved.