使用find在目录中查找文件的常用用法

有时候要找几年前存在电脑里的文件,不但位置忘记了,就连文件名都忘记的差不多了,怎么办?可以使用linux或者cygwin下的find命令,只要对文件名还有一些印象,就可以。


1. 使用正则表达式。正则表达式实在是字符串匹配最好用的东东了,无论是用grep和sed在文件中查找符合条件的行,还是使用find来查找符合条件的文件名,都要用到正则表达式,灵活!怎么使用呢,很简单,使用选项-regex,即可,默认的是正则表达式的方法是posix的,如果不熟悉,可以使用选项-regextype来进行修改,具体参数可以通过man find来查看。

例子:在d盘查找多年前写的一个培训用的ppt,文件名已经记不得了,只知道是个ppt或者pptx。使用如下命令:

首先cd到d盘: cd /cygdrive/d

然后搜索:find -regex '.*pptx?'

会比较慢,如果d盘下文件很多。


2. 有时候,写程序需要,就想把当前文件夹的符合条件的文件名找出来,而不用去管其子文件夹的内容,怎么办?使用-maxdepth来限制最大查找深度为1,即可,如果设置为2,则表示查找当前文件夹和第一层子文件夹。

例子,在d:\tmp中查找txt文件,不在d:\tmp\test中去查找

find -maxdepth 1 -regex '.*\.txt$'



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值