搜索/root目录下含test文件 locate test|grep /root/ 或者locate /root/*test* locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用通配符(如”* ” 或”? ”等)来指定范本样式。 #默认文件名前后会加通配符*
locate pattern = ( locate *pattern*)
#只匹配文件名 去通配符
locate -b '\pattern'
#忽略文件名大小写
locate -i pattern
#使用基本正则匹配模式
locate -r pattern
#使用扩展正则匹配模式
locate --regex pattern
命令参数注意:运行locate 命令时,系统报错:locate: command not found。查了相关资料,发现原因是系统上没有该执行文件,就需要安装。解决方案如下: 执行命令:[root@localhost ~]# yum install locate //看locate属于哪个软件包 查出来mlocate.x86_64 : An utility for finding files by name 执行:[root@localhost ~]# yum install mlocate mlocate安装完成之后,再执行locate命令,就不会报错。实在不行,还可以使用命令:
yum install *locate 来安装。执行 updatedb 手动构建库 [root@localhost ~]# updatedb 完成后就可以执行locate了
locate [-ir] keywords-i:表示忽略大小写-r:表示后面跟正则表达式 搜索/root以.txt结尾的 locate -r '.txt$'|grep /root
#默认文件名前后会加通配符*
locate pattern = ( locate *pattern*) #只匹配文件名 去通配符
locate -b '\pattern' #忽略文件名大小写
locate -i pattern #使用基本正则匹配模式
locate -r pattern #使用扩展正则匹配模式
locate --regex pattern
find -name只能支持普通的通配符如*等,简单的-regex也不能支持扩展的正则表达式,要支持扩展的正则表达式,可用如下命令。 如要找出当前目录下字母开头至少4个数字结尾的txt文件,可以如下这么写: find ./ -regextype 'posix-egrep' -regex '\./[a-z]+[0-9]{4,}\.txt$' 注意这里find的结果是以'./’开头的,但似乎不支持\d,支持\w。
|