gpt4 book ai didi

bash - 遍历 bash 中的数字文本文件并逐行添加数字

转载 作者:行者123 更新时间:2023-11-29 09:45:26 25 4
gpt4 key购买 nike

我在一个文件夹中有一组文本文件,如下所示:

a.txt
1
2
3
4
5

b.txt
1000
1001
1002
1003
1004

.. 等等(假设行数固定,但文本文件数量未知)。我正在寻找一个结果文件,它是所有行的总和:

result.txt
1001
1003
1005
1007
1009

我如何在 bash 中实现这一点?无需使用 Python 等。

最佳答案

使用 awk

尝试:

$ awk '{a[FNR]+=$0} END{for(i=1;i<=FNR;i++)print a[i]}' *.txt
1001
1003
1005
1007
1009

工作原理:

  • a[FNR]+=$0

    对于读取的每一行,我们添加该行的值,$0 , 部分和, a[FNR] , 其中a是一个数组并且 FNR是当前文件中的行号。

  • END{for(i=1;i<=FNR;i++)print a[i]}

    读入所有文件后,打印出每个行号的总和。

使用粘贴和 bc

$ paste -d+ *.txt | bc
1001
1003
1005
1007
1009

关于bash - 遍历 bash 中的数字文本文件并逐行添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55465006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com