Linux 将更多文件的行数与文件名合并
指定一个命令/命令集,用于显示当前目录中.c和.h文件中的代码行数,按字母顺序显示每个文件,后跟“:”和文件中的行数,最后显示代码行总数。Linux 将更多文件的行数与文件名合并,linux,shell,ubuntu,terminal,Linux,Shell,Ubuntu,Terminal,指定一个命令/命令集,用于显示当前目录中.c和.h文件中的代码行数,按字母顺序显示每个文件,后跟“:”和文件中的行数,最后显示代码行总数。 可能显示的示例如下: test.c: 202 example.c: 124 example.h: 43 Total: 369 我想找到一个尽可能短的解决办法。我尝试过许多命令,如: find-名称'*.c'-o-name'*.h'| xargs wc-l ==它显示0./path/test.c和总数,但不够接近 stat-c“%n:%s”* ==它显示te
可能显示的示例如下:
test.c: 202
example.c: 124
example.h: 43
Total: 369
我想找到一个尽可能短的解决办法。我尝试过许多命令,如:
find-名称'*.c'-o-name'*.h'| xargs wc-l
==它显示
0./path/test.c
和总数,但不够接近stat-c“%n:%s”*
==它显示
test.c:0
,但它显示所有文件类型,不显示行数或总数wc-l*.c*.h | tr'\:
==它显示
0:test.c
和总数,但不在子目录中搜索,与问题相反(文件名:行数
)李>
这一个更接近于答案,但在搜索了我在类似问题中看到的大多数命令后,我已经没有主意了。在
xargs
xargs -n1 sh -c 'printf "%s: %s\n" "$1" "$(wc -l <"$1")"' --
xargs -n1 sh -c 'echo "$1 $(wc -l <"$1")"' --
xargs-n1 sh-c'printf“%s:%s\n”“$1”“$(wc-l这应该可以:
wc -l *.c *.h | awk '{print $2 ": " $1}'