Aar*_*ron 60 bash find regular-expression
我正在尝试列出、和中的所有文件dir1,这些文件可能位于我使用该命令的子目录中的任何位置。我尝试了以下但没有成功:dir2dir3dir4cwdfind
find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+'
Run Code Online (Sandbox Code Playgroud)
我也试过posix-extended了。如何列出这些文件?
har*_*kat 80
如果你要搜索三个文件夹命名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 '{}' \;
小智 15
最好使用 -path 指令:
find . \( -type f -and -path '*/dir1/*' -or -path '*/dir2/*' -or -path '*/dir3/*' -or -path '*/dir4/*' \)
Run Code Online (Sandbox Code Playgroud)
这意味着:在当前目录下查找路径中包含 'dir1' 或 'dir2' 或 'dir3' 或 'dir4' 的所有文件。