使用 find 和 wc 命令
命令如下
find . \( -name "*.swift" -o -name "*.h" -o -name "*.m" \) -print | xargs wc -l
文件內(nèi)容多的時(shí)候,可能多次展示total的數(shù)目,可以更換后綴綜合展示
find . \( -name "*.swift" -o -name "*.h" -o -name "*.m" \) -exec wc -l {} +
find 用于查找所有 .swift、.h 和 .m 文件。
wc -l 會(huì)統(tǒng)計(jì)這些文件的總行數(shù)。
排除某個(gè)文件夾
比如Pods
find . -path ./Pods -prune -o \( -name "*.swift" -o -name "*.m" -o -name "*.h" \) -exec wc -l {} +
參數(shù)解釋:
-path ./Pods:匹配 Pods 目錄。
-prune:忽略匹配的目錄,不再進(jìn)入。
-o:表示 "或者" 的意思,讓 find 繼續(xù)查找其他文件。
-name "*.swift" 等:指定文件類型。
-print:打印出找到的文件路徑。
排除多個(gè)文件夾
比如 Pods 和 Build
find . \( -path ./Pods -o -path ./Build \) -prune -o \( -name "*.swift" -o -name "*.m" -o -name "*.h" \) -exec wc -l {} +
排除多個(gè)文件夾和.framewrok文件
find . \( -path ./Pods -o -path ./Build -o -name "*.framework" \) -prune -o \( -name "*.swift" -o -name "*.m" -o -name "*.h" \) -exec wc -l {} +