gpt4 book ai didi

linux - 在对文件中的列求和后打印文件名

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:45 25 4
gpt4 key购买 nike

我正在使用 bash,我有一个目录,其中包含一堆如下所示的文件:

$ cat myFile.txt
128 foo bar baz
4891 cat dog
36 fish cat
942 potato pants
...

我想创建这样的输出:

myFile.txt 5194
another.txt 4920
...

等等。我知道如何使用以下方法对文件求和:

cat myFile.txt | awk '{print $1}' | paste -sd+ - | bc

但我不知道如何重新打印文件名。特别是,我希望能够在事先不知道文件名的情况下执行此操作,如下所示:

cat *.txt | awk '{print $1}' | paste -sd+ - | bc | ... something here?

最佳答案

您可以使用此 for 循环:

for f in *.txt: do
awk '{sum+=$1} END{print FILENAME, sum}' "$f"
done
awk 中的

print 语句将打印输入文件名和总和。

关于linux - 在对文件中的列求和后打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45332290/

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