我在几个子文件夹中有几百个 txt 文件,我想计算每个 txt 文件中的行数。我可以使用以下方法对当前目录中的所有 txt 文件执行此操作:
for f in *.txt; do wc -l "$f"; done
输出:
[number] [txt filename]
[number] [txt filename]
[number] [txt filename]
哪个好。但是,我不想这样做数百次,导航到每个子文件夹。目录结构为:
-main
-folder1
textfile1.txt
textfile2.txt
textfile3.txt
-folder2
textfile4.txt
textfile5.txt
textfile6.txt
-folder3
textfile7.txt
textfile8.txt
textfile9.txt
...and so forth
值得注意的是,文本文件在 .txt 扩展名之前包含空格和几个点。但是,使用上面写的 wc -l up 并没有产生任何错误。在运行 MacOS 的 Mac 上使用终端,其行为在很大程度上类似于 BSD。
如果目录结构是不变的,那么通配符可以安全地扩展列表(假设没有太多超出命令行长度的结果文件):
或者
...取决于您从哪里开始以及您想要包含的内容。