如何找到行和单词的总和



我有三个文件,每个文件包含一行两列,如下所示:

文件1.txt

3 5

文件2.txt

2 6

文件3.txt

6 3

我想将它们合并到一个文件中,该文件对第一列和第二列的总和如下:

最终文件.txt

11 14

我需要用 Unix 命令来做到这一点

以下是使用 awk 的快速方法:

awk '{ one+=$1; two+=$2 } END { print one, two }' file[1-3].txt > finalfile.txt

在寻求帮助之前,您需要自己尝试该问题。但是我觉得这个问题很有趣。以下是使用 bash 脚本的可能解决方案:

cat file1.txt file2.txt file3.txt > treefiles.txt
suma=0;
sumb=0;
while read a b
do
  suma=$((suma + a));
  sumb=$((sumb + b));
done < treefiles.txt;
echo "$suma $sumb";

考虑到评论:

suma=0;
sumb=0;
while read a b
do
  ((suma += a));
  ((sumb += b));
done < <(cat f1.txt f2.txt f3.txt)
echo "$suma $sumb";

假设 Python 标签是一个错误,这将解决问题。

echo `cat file*.txt` | awk 'BEGIN {a=0;b=0;} {for (i=1;i<=NF;i++) { if ( i%2 == 0 ) { b+=$i } else { a+=$i } } } END { print a, b }'

回声"..."将所有数字放在一行上。awk 程序对变量 a 和 b 中的奇数列和偶数列求和。

相关内容

  • 没有找到相关文章

最新更新