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