Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用find/prune仅处理当前目录_Bash_Find - Fatal编程技术网

Bash 使用find/prune仅处理当前目录

Bash 使用find/prune仅处理当前目录,bash,find,Bash,Find,我一直在读有关find's-prune action的文章。我做的一个常见任务是只处理一个目录的文件,而忽略所有目录 据我所知,如果您知道目录的名称(或与目录名称匹配的通配符),Prune非常适合忽略目录。但如果您不知道它们的名称(或与文件和目录匹配的模式),该怎么办 我发现-maxdepth实现了我想要做的。我只是想知道等效的修剪方法可能是什么 例如,假设我想处理主目录中的所有文件,但不递归到任何子目录中。假设我的目录结构和文件如下所示(以“/”结尾的目录): ~/tmpData.dat ~/

我一直在读有关find's-prune action的文章。我做的一个常见任务是只处理一个目录的文件,而忽略所有目录

据我所知,如果您知道目录的名称(或与目录名称匹配的通配符),Prune非常适合忽略目录。但如果您不知道它们的名称(或与文件和目录匹配的模式),该怎么办

我发现-maxdepth实现了我想要做的。我只是想知道等效的修剪方法可能是什么

例如,假设我想处理主目录中的所有文件,但不递归到任何子目录中。假设我的目录结构和文件如下所示(以“/”结尾的目录):

~/tmpData.dat ~/.bashrc ~/.vimrc ~/.Xdefaults ~/tmp/ ~/tmp/.bashrc ~/bkups/.bashrc ~/bkups/.vimrc ~/bkups/.Xdefaults ~/bkups/tmpData.dat


。。什么是正确的find/prune命令?

好的,我找到了自己的解决方案。我只需指定与我的文档中的所有内容匹配的模式 主目录(例如“~/*”)。但是为了包含我所有的点文件(.bashrc), 等等),我必须使用两种模式;一个用于非点式文件名,一个用于文件名 从点开始:

find ~/* ~/.* -type d -prune -o -type f -print