linux - Bash 表达式错误

标签 linux bash

我有一些带有数字的文本文件(结构如下)。我想总结一个文件的每一行和其他文件的每一行(file1 的 line1 + file2 的 line1 等)。我已经编写了如下 bash 脚本,但这给了我 expr error

function countHourly () {


for i in {1..24}
    do
        for file in $PLACE/*.dailycount.txt
            do
            SECBUFF=`head -n $i $file`
             VAL=`expr $VAL + $SECBUFF` ## <-- this cause expr error

        done
      echo line $i form all files counts: $VAL
done

}    

文件结构*.dailycount.txt: 1 0 14 56 45 0 3个 45 23 23 9(每个数字换行)。

最佳答案

假设您的每个文件恰好包含 24 行,您可以用一个简单的单行代码解决这个问题:

counthourly() {
  paste -d+ $PLACE/*.dailycount.txt | bc
}

关于linux - Bash 表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18748077/

相关文章:

java - 嵌入式 Tomcat 8 war maven 上的 "File name too long error"

linux - linux fsync 会同步文件的 xattr 吗?

bash - 使用 bash : write bit representation of integer to file

c - Linux“apt-get更新”工作流程

linux - LD_LIBRARY_PATH 未链接库

linux - 我下载并安装了 linux bash 配置文件,它完全改变了我的终端。如何切换回之前的配置文件?

python - 401. "str' 对象没有属性 'read'

linux - 这些内存区域来自 Linux 进程的用途是什么?

PHP & 庆典; Linux;编译我自己的函数

bash - 如何在查找输出中省略基本名称?