我有三个文件,每个文件包含一行,有两列,如下所示:
FILE1.TXT
3 5
FILE2.TXT
2 6
file3.txt
6 3
我想将它们组合在一个文件中,该文件将每个第一列和秒列相加如下:
finalfile.txt
11 14
我需要使用Unix命令
答案 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中的奇数和偶数列求和。