Bash

在多個文件夾名稱中查找文件

  • December 16, 2018

我正在嘗試列出來自dir1,和的所有文件dir2,這些文件可能位於我使用該命令的子目錄中的任何位置。我嘗試了以下但沒有成功:dir3``dir4``cwd``find

find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+'

我也試過posix-extended了。如何列出這些文件?

如果要搜尋三個名為foobar和的文件夾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”的所有文件。

引用自:https://unix.stackexchange.com/questions/60849