find 小案例
说明:前几天对生产环境的一些重要数据进行备份时用到了find,查找特定符合条件的文件名后拷贝至指定目录,但是只拷贝了部分匹配到的文件
小案例模拟还原:
[root@centos- ~]# ll /test
total
[root@centos- ~]# ll
total
-rw-r--r-- root root Nov : .log
-rw-r--r-- root root Nov : .log
-rw-r--r-- root root Nov : .log
-rw-------. root root Apr anaconda-ks.cfg
-rw-r--r-- root root Nov : a.py
-rw-r--r-- root root Nov : b.py
-rw-r--r-- root root Nov : c.py
-rw-r--r-- root root Jun : epel.repo
-rw-r--r-- root root Nov : e.txt
-rw-r--r-- root root Nov : f.txt
-rw-r--r-- root root Nov : g.txt
[root@centos- ~]# find ./ -type f -name "*txt" -o -name "*py"
./a.py
./b.py
./c.py
./e.txt
./f.txt
./g.txt
[root@centos- ~]# find ./ -type f -name "*txt" -o -name "*py" -exec cp {} /test \;
[root@centos- ~]# ll /test
total
-rw-r--r-- root root Nov : a.py
-rw-r--r-- root root Nov : b.py
-rw-r--r-- root root Nov : c.py
都能匹配到,但是为啥只拷贝了 -name "*py" 匹配到的文件,于是把两个 -name 的顺序换一下,看下什么情况?
[root@centos- ~]# rm -f /test/*
[root@centos-7 ~]# ll /test
total 0
[root@centos-7 ~]# find ./ -type f -name "*py" -o -name "*txt" -exec cp {} /test \;
[root@centos-7 ~]# ll /test
total 0
-rw-r--r-- 1 root root 0 Nov 20 11:37 e.txt
-rw-r--r-- 1 root root 0 Nov 20 11:37 f.txt
-rw-r--r-- 1 root root 0 Nov 20 11:37 g.txt
看来只会拷贝最后面一个 -name 匹配到的文件,于是改写下条件表达式
[root@centos- ~]# rm -f /test/*
[root@centos-7 ~]# ll /test
total 0
[root@centos-7 ~]# find ./ -type f \( -name "*py" -o -name "*txt" \) -exec cp {} /test \;
[root@centos-7 ~]# ll /test/
total 0
-rw-r--r-- 1 root root 0 Nov 20 11:38 a.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 b.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 c.py
-rw-r--r-- 1 root root 0 Nov 20 11:38 e.txt
-rw-r--r-- 1 root root 0 Nov 20 11:38 f.txt
-rw-r--r-- 1 root root 0 Nov 20 11:38 g.txt
find 小案例的更多相关文章
- 机械表小案例之transform的应用
这个小案例主要是对transform的应用. 时钟的3个表针分别是3个png图片,通过setInterval来让图片转动.时,分,秒的转动角度分别是30,6,6度. 首先,通过new Date函数获取 ...
- shell讲解-小案例
shell讲解-小案例 一.文件拷贝输出检查 下面测试文件拷贝是否正常,如果cp命令并没有拷贝文件myfile到myfile.bak,则打印错误信息.注意错误信息中basename $0打印脚本名.如 ...
- [jQuery学习系列六]6-jQuery实际操作小案例
前言最后在这里po上jQuery的几个小案例. Jquery例子1_占位符使用需求: 点击第一个按钮后 自动去check 后面是否有按钮没有选中, 如有则提示错误消息. <html> &l ...
- 02SpringMvc_springmvc快速入门小案例(XML版本)
这篇文章中,我们要写一个入门案例,去整体了解整个SpringMVC. 先给出整个项目的结构图:
- React.js入门小案例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...
- SqlDependency缓存数据库表小案例
SqlDependency的简介: SqlDependency是outputcache网页缓存的一个参数,它的作用是指定缓存失效的数据库依赖项,可以具体到数据库和表. SqlDependency能解决 ...
- JavaScript apply函数小案例
//回调函数1 function callback(a,b,c) { alert(a+b+c); } //回调函数2 function callback2(a,b) { alert(a+b); } / ...
- Session小案例------完成用户登录
Session小案例------完成用户登录 在项目开发中,用户登陆功能再平常只是啦,当用户完毕username和password校验后.进入主界面,须要在主界面中显示用户的信息,此时用ses ...
- ch1-vuejs基础入门(hw v-bind v-if v-for v-on v-model 应用组件简介 小案例)
1 hello world 引入vue.min.js 代码: ----2.0+版本 <div id="test"> {{str}} </div> <s ...
- jquery mobile小案例
---恢复内容开始--- [jquery mobile小案例]效果图如下: 首先先创建一个页面主要使用data-role="page"这个指令,我们给它起个id="pag ...
随机推荐
- css 添加手状样式,鼠标移上去变小手
cursor:pointer, 简单实用. 前端工作一年多,竟然没有博客.说出来别人都要笑话,这是一个新的开始.
- Android中Project、Module的区别
Project 可以包含多含 Module. Project相当于eclipse里面的工作区间,module相当于其project.module可以作为狭义上的模块,可以多个app共用的module. ...
- 294 div2 C. A and B and Team Training
C. A and B and Team Training 题目:A and B are preparing themselves for programming contests. An import ...
- 【SQL】sql统计不同类别的不同状态的数目
例子:某主机下有5149个设备,设备分不同类别,设备运行会有不同状态(1-正常.2-告警.3-故障.0-离线) sql: SELECT t.DEVICE_TYPE_NAME,SUM(CASE t.DE ...
- 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- flask 微电影网站
flask简介 轻量级web应用框架 WSGI工具箱才用Werkzeug 模版引擎则使用Jinja2 Flask使用BSD授权 1.virtualenv的使用 (1)创建虚拟环境:virtualenv ...
- 秘制CSP模板
不定期更细中...... 声明1:由于js的问题导致VIEW CODE按钮只能点"I"附近才能展开代码 声明2:为了排版的美观,所有的解释以及需要留意的地方我都放在代码中了 声明3 ...
- [模板]二维ST表
考试yy二维ST表失败导致爆零. 其实和一维的ST表很像... 也是设$f[i][j][p][q]$为以$(i, j)$为左上角,长为$2^p$,宽为$2^q$的矩形的最大值. 算法流程是先把每一行都 ...
- NServiceBus+Saga开发分布式应用
前言 当你在处理异步消息时,每个单独的消息处理程序都是一个单独的handler,每个handler之间互不影响.这时如果一个消息依赖另一个消息的状态呢? 这时业务逻辑怎么处理? ...
- [Abp vNext 源码分析] - 11. 用户的自定义参数与配置
一.简要说明 文章信息: 基于的 ABP vNext 版本:1.0.0 创作日期:2019 年 10 月 23 日晚 更新日期:暂无 ABP vNext 针对用户可编辑的配置,提供了单独的 Volo. ...