查找某个目录下所有的sql文件时,使用以下命令
find /opt/ -name *.sql
结果是报错,这个命令是查找 *.sh的那个文件,而不是sh结尾的全部文件。
如果查找的文件名中有通配符,需要加引号
find /opt/ -name ‘*.sql‘
[查找完执行的action]
# -print //默认情况下的动作
# -ls //查找到后用ls 显示出来
# -ok [commend] //查找后执行命令的时候询问用户是否要执行
# -exec [commend] //查找后执行命令的时候不询问用户,直接执行
例:1、 将找到的sql文件全部删除:
find /opt/ -name ‘*.sql‘ -exec rm -rf {} \;
{}的作用:替代查找到的文件
或者命令:
find /opt/ -name ‘*.sql‘ | xargs rm -rf
2、 将找到的sql文件复制到root目录下:
find /opt/ -name ‘*.sql‘ -exec cp {} /root/ \;
或者:
find /opt/ -name ‘*.sql‘ | xargs -i cp {} /root/
xargs -i 加-i 参数直接用 {}就能代替管道之前的标准输出的内容;
常用的正则表达式:
常用运算符与表达式:
^ 开始
() 域段
[] 包含,默认是一个字符长度
[^] 不包含,默认是一个字符长度
{n,m} 匹配长度
. 任何单个字符(\. 字符点)
| 或
\ 转义
$ 结尾
[A-Z] 26个大写字母
[a-z] 26个小写字母
[0-9] 0至9数字
.+ 匹配任何字符