linux有没有递归函数,关于linux:find没有递归找到

我在目录"home",我运行此命令

find . -iname *.mov

它产生了

./root/movies/Corey/holtorf/Intro.mov

现在,我"cd .."并运行相同的命令

find . -iname *.mov

这次"Intro.mov"不在结果中。

这背后的原因是什么?

什么是递归搜索当前目录中以".mov"结尾的每个文件的命令? 谢谢。

在参数中使用通配符时,它会被shell扩展。为防止这种情况,您需要编写"* .mov"。

在您的情况下,shell在将参数传递给find之前会扩展到它找到的任何文件,然后获取文件列表并且不会根据原始模式进行搜索。

如果您的主目录实际上是符号链接,则可能需要添加-follow。同时引用模式,否则shell会在将其传递给find之前尝试扩展它。

find . -iname"*.mov" -follow

我还不能评论所以我会发布这个答案(我提前道歉)。

请查看此帖子"查找:路径必须在表达式之前:"如何指定也在当前目录中查找文件的递归搜索?

以及可能使您受益的其他信息:

要以递归方式查找当前目录中具有特定名称的文件,可以使用grep或find

grep -r"*.mov" .

或者用于不区分大小写的搜索

grep -ri"*.mov" .

并找到

find . -type f -exec grep -l"*.mov" {} +

也是一个有用的链接http://www.cyberciti.biz/faq/howto-recursively-search-all-files-for-words/

我会用:

grep -rn 'mov' .

递归数字搜索

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值