Linux 如何求行和词的和

Linux 如何求行和词的和,linux,bash,unix,Linux,Bash,Unix,我有三个文件,每个文件包含一行两列,如下所示: file1.txt 35 file2.txt 26 file3.txt 6.3 我想将它们合并到一个文件中,将第一列和第二列相加如下: finalfile.txt 11 14 我需要使用Unix命令来实现这一点 awk '{ one+=$1; two+=$2 } END { print one, two }' file[1-3].txt > finalfile.txt 假设Python标记是一个错误,那么就可以了 echo `cat fil

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

file1.txt

35

file2.txt

26

file3.txt

6.3

我想将它们合并到一个文件中,将第一列和第二列相加如下:

finalfile.txt

11 14


我需要使用Unix命令来实现这一点

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

假设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`cat file*.txt`|awk'BEGIN{a=0;b=0;}{for(i=1;i在请求帮助之前,您需要自己尝试这个问题。不过,我发现这个问题很有趣。下面是一个使用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";
cat file1.txt file2.txt file3.txt>treefiles.txt
suma=0;
sumb=0;
读a b的时候
做
suma=$((suma+a));
sumb=$((sumb+b));
完成
考虑到这些意见:

suma=0;
sumb=0;

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

echo "$suma $sumb";
suma=0;
sumb=0;
读a b的时候
做
((suma+=a));
((sumb+=b));

done<如果你需要Unix命令,python在你的标签中做什么?我喜欢这种文件读取技术:while read…@anishsane,确保你是从进程替换中重定向的:
done<@Rafael,你不能算术表达式中的赋值:
((suma+=a))
真的吗?我不知道。我会测试它!