find 转 http://blog.csdn.net/ysdaniel/article/details/7995681

查找cache目录下不是html的文件

  1. find ./cache ! -name '*.html' -type f

列出当前目录下的目录名,排除includes目录,后面的-print不能少

  1. find . -path './includes' -prune -o -type d -maxdepth 1 -print

排除多个目录,”(“前是带”\”的

  1. find / path/home/opath/root -prune -nouser -type f -exec ls -l {} \;

find查找文件的时候排除某个或几个文件或目录

比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件

find /usr/sam -path "/usr/sam/dir1" -prune -o -print

find [-path ..] [expression] 在路径列表的后面的是表达式

-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/sam" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。

这个表达式组合特例可以用伪码写为

if -path "/usr/sam" then
           -prune
else
           -print

避开多个文件夹

find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print

圆括号表示表达式的结合。

\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。

查找某一确定文件,-name等选项加在-o 之后

#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print

linux下的常用命令find,加上不同的参数,可以使你很容易的找到需要的文件,但是有些时候,你在查找文件的同时,可能不需要在某文件夹下查找,这时候-prune就用上了。

比如在当前目录下寻找pl后缀的文件,不在scripts下寻找。

find . -path './scripts' -prune -o -name '*.pl' -print

shell in 转http://bbs.chinaunix.net/thread-3737652-1-1.html

#! /bin/bash
var=$1list="01 02 03"
if [[ " $list " =~ " $var " ]]  #注意 $list 和 $var 两边的空格
thenecho match
fi
#!/bin/shex_path="01 02 03"path=`ls ./`for i in ${path[@]};doif  [[ " $ex_path " =~ " $i " ]];thenecho "ok" > /dev/nullelse      find ./$i -name "*.php"|xargs grep -E "v7\.|v71\." >> /tmp/tmp.txtfi
done

转载于:https://blog.51cto.com/314258/1686722

shell in find exclude相关推荐

  1. 使用PowerDesigner反向生成数据模型

    查看全文 http://www.taodudu.cc/news/show-4261579.html 相关文章: PowerDesigner16.5 逆向生成物理模型 rabbitmq的exclusiv ...

  2. 远程同步软件rsync(一)

    文章目录 1. RSYNC概述 2. RSYNC传输模式 2.1 本地传输 2.2 远程传输 2.3 守护进程 2.3.1 RSYNC安装 2.3.2 RSYNC配置 2.3.3 RSYNC启动 3. ...

  3. linux第二阶段架构

    综合架构 day01 综合架构原理 1.企业上网原理 路由器配置:第一步:获取设备管理IP地址,修改笔记本网卡地址第二步:外网线路配置(运营商),完成路由或拨号配置(用户名 密码-- 获取外网IP)第 ...

  4. 我司Spring Boot 项目打包 + Shell 脚本部署详细总结,太有用了!

    欢迎关注方志朋的博客,回复"666"获面试宝典 本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利 ...

  5. Spring Boot 打包不同环境配置与 Shell 脚本部署

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本篇和大家分享的是 Spring Boot 打包并结合 S ...

  6. Linux shell命令总结

    01 前言 Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题,前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1.我们正常需要 ...

  7. bash shell命令(2)

    在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...

  8. 常见的shell实例

    1.从磁盘使用统计中排除部分文件 du  --exclude "*.iso" dir 2.找出指定目录中最大的10个文件 find -type f -exec du -k {} \ ...

  9. 如何通过终端快速删除文件和目录(bash shell)[关闭]

    本文翻译自:How to remove files and directories quickly via terminal (bash shell) [closed] From terminal w ...

最新文章

  1. 边缘的人工智能可以满足许多需求
  2. 相关系数excel_跟着思想学外汇-如何用Excel计算货币相关性
  3. oracle12c默认字符集,修改Oracle【12C】字符集
  4. python爬虫知识大全_Python爬虫知识点一
  5. Spark1.x和2.x如何读取和写入csv文件
  6. JVM发生OOM的 8 种原因、及解决办法
  7. 单片机lcm显示字符程序C语言,手把手教你学单片机的C语言程序设计(十六).pdf...
  8. python人口普查数据显示_如何使用FCC的API在Python中查找人口普查数据块并遍历dict列表?...
  9. 基于Java的办公用品管理系统的设计与实现
  10. 产品经理的职责都有哪些
  11. 计算机中丢失vcl190,VCL画图实例
  12. 《GPU编程与CG语言之阳春白雪下里巴人》 读书笔记1
  13. 程序员:走路也可以帮你拥有完美的翘臀!
  14. 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等
  15. 如何编辑扫描的PDF文件?
  16. 树莓派触摸屏翻转显示以及触摸翻转
  17. 【anaconda】彻底解决windows下anaconda3占用C盘问题(改了envs、pkgs安装路径依旧占用C盘)
  18. 华为U-SYS系统力助运营商实施转型
  19. linux设置环境变量设置环境变量
  20. 用英语提交软件测试bug,软件测试——关于提交bug随笔

热门文章

  1. 河南工学院计算机宿舍,河南工学院宿舍条件,宿舍几人间环境好不好(图片)
  2. yum安装软件时报错:Errors during downloading metadata for repository ‘AppStream‘的处理
  3. mysql 按日期分组求和
  4. Unity 百度语音识别
  5. 如何应对项目范围变更管理
  6. cad动态块制作翻转_CAD创建动态块实例教程:旋转参数和动作的应用 - CAD自学网...
  7. 基于单片机的智能教室控制系统的设计
  8. 常用的Eclipse 快捷键
  9. 从上帝视角看进程调度
  10. 信息安全工程师(软考中级)