如何进行模糊查找文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何进行模糊查找文件相关的知识,希望对你有一定的参考价值。

在当前目录下搜索指定文件:
find . -name test.txt

在当前目录下模糊搜索文件:
find . -name '*.txt'

在当前目录下搜索特定属性的文件:
find . -amin -10 # 查找在系统中最后10分钟访问的文件
find . -atime -2 # 查找在系统中最后48小时访问的文件
find . -empty # 查找在系统中为空的文件或者文件夹
find . -group cat # 查找在系统中属于 groupcat的文件
find . -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find . -mtime -1 #查找在系统中最后24小时里修改过的文件
find . -nouser #查找在系统中属于作废用户的文件
find . -user fred #查找在系统中属于FRED这个用户的文件

在当前目录搜索文件内容含有某字符串(大小写敏感)的文件:
find . -type f | xargs grep 'your_string'

在当前目录搜索文件内容含有某字符串(大小写敏感)的特定文件:
find . -type f -name '*.sh' | xargs grep 'your_string'

在当前目录搜索文件内容含有某字符串(忽略大小写)的特定文件:
find . -type f -name '*.sh' | xargs grep -i 'your_string'
参考技术A 如果是在 UNIX/Linux 操作系统下面,你可以进入 root ,然后使用如下命令进行模糊查找文件:
#find / -name "*.c" -print <cr> (查找所有 *.c 的源程序)
#fine / -name "my_prog*.h" -print <cr> (查找以 my_prog 开头的所有的头文件)
其中注意:* 是可以匹配所偶得字符,而 ? 只能够匹配一个字符。例如:
#find / -name "my_prog?.h" -print <cr>(查找例如:以my_prog1.h、my_prog2.h、my_prog3.h等等的头文件,但是不会显示出例如:my_program.h这样的头文件)
参考技术B CString seachString=_T("tmp//*aa*.*");
WIN32_FIND_DATA fd;
HANDLE hd = ::FindFirstFile(seachString, &fd);
if ( INVALID_HANDLE_VALUE == hd )
return;

int i=1;
while(FindNextFile(hd,&fd))

文件名“bb-aa.mp3”
为什么这样不能进行模糊查找,就是要查找到tmp目录下文件名包含有aa的文件,如何解决

KingbaseES 模糊查找

表中“姓名”列有
张三
张四
李四
张五
李五
王四
想找出“张四、李四”

按照SQL可以用 select * from 姓名 where name like '[张李]四'
但在KingbaseES数据库中根本找不到,如何解决啊?

create table #temp
(
name varchar(20)
)
insert into #temp
select \'张三\'
insert into #temp
select \'张四\'
insert into #temp
select \'李四\'
insert into #temp
select \'张五\'
insert into #temp
select \'李五\'
insert into #temp
select \'王四\'

select * from #temp where name like \'[张李]四\'

我这样是可以找到的了
参考技术A select * from 姓名 where name like '[张李]四' 在SQLServer中是没问题的。没试过KingBaseES.

以上是关于如何进行模糊查找文件的主要内容,如果未能解决你的问题,请参考以下文章

grep命令和find命令都是查找,如何向测试人员介绍他们的区别?

linux怎么模糊查找一个文件

用C语言实现linux下文件模糊查找,比如在home下,找出所有的JPEG文件

文件查找

linux中模糊查找文件

KingbaseES 模糊查找