使用 find 命令实现高级排除需求
使用 find 命令实现高级排除需求
Linked
关于 find 命令,本博客介绍过 atime,ctime,mtime 介绍过 --exec 参数。
介绍这些的基本需求是进行文件管理。事实上,基于终端进行 Linux 中排除掉筛选的文件 似乎有些许局限。
那么,如果希望据说强大的文件搜寻与处理功能。我们还得回到 find 命令上来,本文基于 "--prune" 参数进行说明。
Deleted
# find . -name "*git*"
./themes/snippet/layout/_vendor/comments/gitment.ejs
./themes/landscape/.gitignore
./.gitignore
./.git
这样我们可以找到所有带 "git" 的文件或者文件夹。更多细节可查询附录内 "find 查询参数" 一节。
Judge
find 命令本身是带条件判定的。在早期写脚本的时候由于不知道这个技巧,于是采用输出信息行数判断以确定是否搜索到信息。
在 find 命令中,-o 表示前者执行成功后者不执行;'-a' 表示前者执行成功后者执行。
# find . -name "*git*" -prune -a -printf "该条包含 git 信息\n"
该条包含 git 信息
该条包含 git 信息
该条包含 git 信息
该条包含 git 信息
# find . -name "*git*" -prune -a -print
./themes/snippet/layout/_vendor/comments/gitment.ejs
./themes/landscape/.gitignore
./.gitignore
./.git
# find . -name "*git*" -prune -o -printf "该条不包含 git 信息\n"
使用这条命令也就实现了高级排除的需求。
Appendix
find 查询参数细节
# find . -name "*git*" -type f
./themes/snippet/layout/_vendor/comments/gitment.ejs
./themes/landscape/.gitignore
./.gitignore
# find . -name "*git*" -type d
./.git
# find . -path "./.git"
./.git
**tips: ** '-name "string" -type d' 和直接 '-path "Relative_directory/directory"'。
**Attention: ** 使用 '-path' 后跟的目录必须是相对地址并且在尾部不可以加斜杠,且不可使用通配符。
使用 find 命令实现高级排除需求的更多相关文章
- Linux下 ls 命令的高级用法8例
Linux下 ls 命令的高级用法8例 在Linux下,ls这个命令大家肯定太熟悉了,良许相信只要是Linux工程师,每天都会离不开这个命令,而且一天会使用个几百次.但是,除了 ls -l 以外,你还 ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- 【redis】05Redis的常用命令及高级应用
Redis常用命令 Redis提供了非常丰富的命令,对数据库和个中数据类型进行操作, 这些命令呢,可以在Linux终端使用. 分为两大类的命令,一种是键值相关的命令,一种是服务器相关的命令, ...
- linux大文件分包压缩和批量解压命令tar // tar 排除指定目录
压缩命令主要用到tar打包和split分割,命令如下: tar czf - aaa | split -b 1024m - bbb.tar.gz_ aaa可以是文件也可以是目录, 大小可以是b.k.m这 ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- dd命令的高级应用
dd是Linux上的一个常用的命令.例如:dd if=/1.txt of=/tmp/2.txt (其中, if代表input file:of代表output file, 命令的结果就是将根目录 ...
- Linux tar命令exclude选项排除指定文件或目录
在linux中可以用tar打包目录以方便传输or备份,我们先来看一个例子 test 文件夹有如下文件 [root@lee ~]# ll test 总用量 -rw-r--r--. root root 4 ...
- linux sort排序命令的高级用法(按多个列值进行排列)
http://www.jquerycn.cn/a_9076 在linux中,使用sort按行进行排序是很简单的.不过有时,生活总是爱抛给你一个一个的问题.如果使用sort按多个列值排列,同时使用tab ...
- linux命令之高级使用 du
du命令:disk usage,顾名思义,是关于目录使用情况的,它的作用就是计算目录大小的. 1. 想看当前目录下所有目录以及子目录的大小: # du -h . “.”代表当前目录下.也可以换成一个明 ...
随机推荐
- WinScp获取一个文件
CD /d C:\Program Files (x86)\WinSCPWinSCP.exe /console /command "option batch continue" &q ...
- memcached centos启动笔记
root情况下命令行输入 apt-get install memcached 自动安装 不熟悉的情况下 可能找不到改程序所在目录 使用 find / -name memcached 从根目录开始寻找 ...
- 7.20 文本框内容 超出 显示 。。 和 split
word-wrap:break-word; word-break:break-all; overflow:auto; split 去 :等 ,只要有: 就会在:两边 各生产一个值 ,所有 应习惯把最 ...
- 2018.09.10 bzoj1597: [Usaco2008 Mar]土地购买(斜率优化dp)
传送门 终究还是通宵了啊... 这是一道简单的斜率优化dp. 先对所有土地排序,显然如果有严格小于的两块土地不用考虑小的一块. 于是剩下的土地有一条边单增,另外一条单减. 我们假设a[i]是单减的,b ...
- 2018.07.20 bzoj1614: Telephone Lines架设电话线(二分+最短路)
传送门 这题直接做显然gg" role="presentation" style="position: relative;">gggg,看这数据 ...
- python3.4用循环往mysql5.7中写数据并输出
#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...
- Spring源码解析 - BeanFactory接口体系解读
不知道为什么看着Spring的源码,感触最深的是Spring对概念的抽象,所以我就先学接口了. BeanFactory是Spring IOC实现的基础,这边定义了一系列的接口,我们通过这些接口的学习, ...
- jQueryUI datepicker 报错: TypeError: inst is undefined
前提:要引用的js等都引用好了 调用日期控件的input: <input id="starttime" name="starttime" class=&q ...
- (KMP 模板)Number Sequence -- Hdu -- 1711
http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/Other ...
- (最小生成树 Prim) Highways --POJ --1751
链接: http://poj.org/problem?id=1751 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1150 ...