linux下使用find寻找文件时,总是会用到正则表达式.
这里来简单的总结一下find的通配符.
|用来转义通配符
示例这里假设我们 有个文件夹下是两个文件s.txt以及t.txt
* find . -name '*'出来的结果
../s.txt./t.txt ? find . -name '?.txt'出来的结果
./s.txt./t.txt []这里括号内
find . -name '[ts].txt'find . -name '[t|s].txt'find . -name '[t,s].txt'用空白, | 或者,一样.都是从[]中挑出一个
./s.txt./t.txt !!匹配括号内!后的字符串,非他们的即可展示
find . -name '[!tm].txt'这里意为非t且非m的字符匹配.所以匹配到了s
./s.txt如果!并非[]中的首置位,则就把他按照!来看.我们再创建几个txt
vim m.txtvim !.txt如果!在首置位已经说了,如果不在首置位
find . -name '[s!t].txt' ./!.txt./s.txt./t.txt可以看到结果把他当做了普通字符处理
转义字符.主要用来匹配通配符所代表的字符
例如
匹配出的结果为:
./!.txt可以看出确实如上面所说.
总结今天用find的时候找文件不是很顺,查了一些资料做一些总结.