Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Bash 如何添加3个不同目录中3个不同文件的编号?_Bash - Fatal编程技术网

Bash 如何添加3个不同目录中3个不同文件的编号?

Bash 如何添加3个不同目录中3个不同文件的编号?,bash,Bash,每10个文件都来自不同的文件,而这些文件中的每个文件都来自不同的目录。我如何将它们相加,得到大力水手30的输出 这就是我到目前为止在一个专栏中得到的三个10: cat "$x" | grep "$candidate" | grep -oe '\([0-9.]*\)' 您可以使用awk获得最后三行的总和: echo "$candidate $(cat "$x" | grep "$candidate" | g

每10个文件都来自不同的文件,而这些文件中的每个文件都来自不同的目录。我如何将它们相加,得到大力水手30的输出

这就是我到目前为止在一个专栏中得到的三个10:

cat "$x" | grep "$candidate" | grep -oe '\([0-9.]*\)'

您可以使用awk获得最后三行的总和:

echo "$candidate $(cat "$x" | grep "$candidate" | grep -oe '\([0-9.]*\)' | tail -3 | awk '{i+=$1} END{print i}')"

只需在结果末尾使用管道
awk'{s+=$1}END{print s}'
,如下所示:

echo“输入候选人:
大力水手
10
10
10“|grep”$candidate“|grep-oe'\([0-9.]*\)”| awk'{s+=$1}END{print s}”
如果您要添加的内容超出了
2147483647(2^31)
printf
将优于
print
,因为awk使用32位有符号整数表示,在某些awk版本中,您可能会遇到奇怪的行为

echo“输入候选人:
大力水手
10
10
10“|grep”$candidate“|grep-oe'\([0-9.]*\)”| awk'{s+=$1}END{printf'%.0f\n“,s}”