如何找到行和单词的总和

时间:2012-12-03 02:55:40

标签: linux bash unix

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

FILE1.TXT

3 5

FILE2.TXT

2 6

file3.txt

6 3

我想将它们组合在一个文件中,该文件将每个第一列和秒列相加如下:

finalfile.txt

11 14

我需要使用Unix命令

3 个答案:

答案 0 :(得分:8)

这是使用awk

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

答案 1 :(得分:3)

在寻求帮助之前,您需要自己尝试解决问题。但是我觉得这个问题很有意思。以下是使用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";

答案 2 :(得分:2)

假设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 }'

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