Osx
在 OSX 上遞歸列出文件?
我想在 OSX 上的目錄及其子目錄中查找所有 PDF 文件。
我知道子目錄中有一些 PDF,因為例如這會產生很多結果:
ls myfolder/pdfs/*.pdf
我所有的Google搜尋都建議我想要
ls -R
,但這不會產生任何結果:ls -R *.pdf
我究竟做錯了什麼?
我可以通過這種方式找到一些結果:
ls -R | grep pdf
但是我看不到文件的完整路徑,這不是很有幫助。
ls -R *.pdf
將對ls
任何匹配的內容遞歸呼叫ls -R | grep pdf
將顯示ls -R
結果中與正則表達式匹配的所有內容這就是你需要的:
find myfolder -type f -name '*.pdf'
這將為您提供文件名與模式匹配的目錄
-type f
中或目錄下的所有正常文件 () 的路徑名。需要引用該模式以保護它免受外殼的影響。myfolder``*.pdf
使用
zsh
shell(最近成為 macOS 上的預設 shell):print -rC1 myfolder/**/*.pdf(.ND)
這將在單個列中列印出目錄中或目錄下
myfolder
名稱以 結尾的所有正常文件的路徑名。N
andD
對應於在 shell 中設置nullglob
和dotglob
shell 選項bash
(但僅適用於這個單一的通配模式),點使模式只匹配正常文件(即不匹配目錄等)