gpt4 book ai didi

linux - 对目录中的文件使用 wc 后排序

转载 作者:行者123 更新时间:2023-12-04 19:09:21 27 4
gpt4 key购买 nike

指定显示 .c 中代码行数的命令/命令集和 .h当前目录中的文件,按字母顺序显示每个文件,后跟:以及文件中的行数,最后是代码行数。 .
可能显示的示例是:

main.c: 202
util.c: 124
util.h: 43
TOTAL: 369

经过多次尝试,我的单行命令的最终结果是:
wc -l *.c *.h | awk '{print $2 ": " $1}' | sed "$ s/total/TOTAL/g"

问题是我不知道如何 sort them alphabetically不移动 TOTAL以及 ( considering we don't know how many files are in that folder)。我不确定上面的命令是否有效,所以如果你有更好的命令,你可以包含更多的变体。

最佳答案

也许更容易将输入参数排序为 wc ——也许是这样的:

$ find . -maxdepth 1 '(' -name '*.py' -o -name '*.md' ')' | sort | xargs -d'\n' wc -l | awk '{print $2": "$1}' | sed 's/^total:/TOTAL:/'
./__main__.py: 70
./README.md: 96
./SCREENS.md: 76
./setup.py: 2
./t.py: 10
TOTAL: 254

请注意,我使用 xargs -d'\n'避免文件名中包含空格(如果我的目标是 GNU+,我会从 . 中删除 find . 并可能改用 -print0 | sort -z | xargs -0)

关于linux - 对目录中的文件使用 wc 后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60698863/

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