Bash
在多個文件夾名稱中查找文件
我正在嘗試列出來自
dir1
,和的所有文件dir2
,這些文件可能位於我使用該命令的子目錄中的任何位置。我嘗試了以下但沒有成功:dir3``dir4``cwd``find
find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+'
我也試過
posix-extended
了。如何列出這些文件?
如果要搜尋三個名為
foo
、bar
和的文件夾baz
中的所有*.py
文件,請使用以下命令:
find foo bar baz -name "*.py"
所以如果你想顯示
dir1
dir2
dir3
使用中的文件find dir1 dir2 dir3 -type f
試試這個
find . \( -name "dir1" -o -name "dir2" \) -exec ls '{}' \;
最好使用 -path 指令:
find . \( -type f -and -path '*/dir1/*' -or -path '*/dir2/*' -or -path '*/dir3/*' -or -path '*/dir4/*' \)
這意味著:在目前目錄下查找路徑中有“dir1”或“dir2”或“dir3”或“dir4”的所有文件。