Linux cut命令来分隔输出并添加它们
我是bash的新手 我编写了一个bash脚本,它给了我如下输出:Linux cut命令来分隔输出并添加它们,linux,bash,Linux,Bash,我是bash的新手 我编写了一个bash脚本,它给了我如下输出: 3387 /test/file1 23688 /test/file2 5813 /test/file3 10415 /test/file4 1304 /test/file5 46 /test/file6 8 /test/file7 138 /test/file8 我可以用 wc -l /path/to/$dir/test | cut -d" " -f1 我如何将数字相加并计算它们? 我可以做: output=`wc -l /
3387 /test/file1
23688 /test/file2
5813 /test/file3
10415 /test/file4
1304 /test/file5
46 /test/file6
8 /test/file7
138 /test/file8
我可以用
wc -l /path/to/$dir/test | cut -d" " -f1
我如何将数字相加并计算它们?
我可以做:
output=`wc -l /path/to/$dir/test | cut -d" " -f1`
是否可以使用“while”或“for”循环并添加这些数字?
怎么做
提前感谢您您希望
awk
在此避免显式循环。如果您的输出在文件data.txt
中,您可以使用:
$ awk '{sum += $1} END {print sum}' data.txt
44799
在您的情况下,通过管道将脚本输出到awk
:
$ your_script.sh | awk '{sum += $1} END {print sum}'
由于您在问题中给出的输出是wc-l
的输出,请尝试:
$ wc -l /path/to/$dir/test | awk '{sum += $1} END {print sum}'
(除了登录此页面的其他人:
wc-l
,当给定通配符时,也会给出总数,但在这种情况下使用awk
非常好,因为您可以直接处理总行数,并将其传递到另一个进程。)我不想读取文本文件。我想根据终端中显示的输出进行计算。如果您能告诉我如何解决问题,谢谢。补充到答案中。