博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 find 命令实现高级排除需求
阅读量:6393 次
发布时间:2019-06-23

本文共 1210 字,大约阅读时间需要 4 分钟。

使用 find 命令实现高级排除需求

Linked

关于 find 命令,本博客介绍过 介绍过 。

介绍这些的基本需求是进行文件管理。事实上,基于终端进行 似乎有些许局限。
那么,如果希望据说强大的文件搜寻与处理功能。我们还得回到 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' 后跟的目录必须是相对地址并且在尾部不可以加斜杠,且不可使用通配符。

转载于:https://www.cnblogs.com/itxdm/p/Use_the_find_command_to_achieve_advanced_exclusion_requirements.html

你可能感兴趣的文章
HTML5 LocalStorage 本地存储
查看>>
froont在线响应式布局工具
查看>>
多线程5 Critical_Section
查看>>
spring cloud 各个组件认识
查看>>
深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
查看>>
【leetcode】83. Remove Duplicates from Sorted List---Java
查看>>
使用Jmeter导出导入接口自动化案例中的自定义变量
查看>>
java高级面试
查看>>
php session在页面跳转后丢失
查看>>
我的友情链接
查看>>
Java回调机制入门
查看>>
centos6上安装配置XEN--转载
查看>>
[转载] 七龙珠第一部——第068话 最后的龙珠
查看>>
Android 下ContentProvider的学习
查看>>
MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
查看>>
PHP整理笔记二
查看>>
【BZOJ2330】 [SCOI2011]糖果
查看>>
VLAN的TRUNK协议
查看>>
GNU开发工具——CMake构建Qt工程实践
查看>>
Java基础学习总结(19)——Java环境变量配置
查看>>