find
命令可以用来在目录中查找文件
要排除特定文件,你可以使用 !
符号与 -name
选项结合。例如,要在当前目录及其子目录中查找所有 .txt
文件,但排除名为 file_to_exclude.txt
的文件,你可以使用以下命令:
find . -type f -name "*.txt" ! -name "file_to_exclude.txt"
要排除特定目录,你可以使用 -path
选项与 !
符号结合。例如,要在当前目录及其子目录中查找所有 .txt
文件,但排除名为 dir_to_exclude
的目录,你可以使用以下命令:
find . -type f -name "*.txt" ! -path "./dir_to_exclude/*"
注意,-path
选项后面的参数需要包含通配符 *
,以便排除该目录下的所有内容。
要同时排除多个文件和目录,只需将多个 !
符号与相应的选项组合在一起。例如,要在当前目录及其子目录中查找所有 .txt
文件,但排除名为 file_to_exclude.txt
的文件以及名为 dir_to_exclude
的目录,你可以使用以下命令:
find . -type f -name "*.txt" ! -name "file_to_exclude.txt" ! -path "./dir_to_exclude/*"
这将返回一个列表,其中包含所有符合条件的文件,但不包括指定的文件和目录。