Osx
wc -l 計算文件夾和子文件夾中所有txt文件的行數
我在幾個子文件夾中有幾百個 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。
find /the/path/to/search/ -name "*.txt" -exec wc -l {} \;
如果目錄結構是不變的,那麼萬用字元可以安全地擴展列表(假設沒有太多超出命令行長度的結果文件):
wc -l main/*/*.txt
或者
wc -l */*/*.txt
…取決於您從哪裡開始以及您想要包含的內容。