索引

基础

exec执行命令

文件名或查找

忽略文件

用find查找以abc开头,但不包含“.”的文件的方法


find . -name "*.c" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件

find . -name "*Iden*" -exec rm {} \;

find ./  \( -iname "*.c" -or -iname "*.cc" \)   查找以.c或.cc结尾的文件  忽略大小写

find -regex ".*\.\(xls\|csv\)"   查找以xls 或csv 结尾的文件

find -name "*.xls" -o -name "*.csv"  同上

find / -path /mnt -prune -o -regex ".*\.\(cc\|h\)"

find / \( -path /dev -o -path /var -o -path /mnt \) -prune -o -name "*.cc"|wc -l


用find查找以abc开头,但不包含“.”的文件的方法

如下三种方法都可以:

1.

  1. find . -name "abc*" ! -name "*.*" -print

2.

  1. find . -regex '.*/abc[^.]*'

3.

  1. find . -name "*.*" -o -name "abc*" -print

第一种方法是最容易理解的了,第二个 -name前的 ! 号表示 -not, 与-not的意义是相同的,所以也可以写成:

find . -name "abc*" -not -name "*.*" -print

第二种方法: 因为用-name选项的时候,find不支持正则表达式,此时要使用 -regex选项

正则式: '.*/abc[^.]*'

.*/ 表示在当前目录及下及目录中找

[^.]* 表示abc后匹配任意字符,除了.

第三种方法看起来很难理解

因为-o 是 or 的意思,也就是或

猛的看起来好像是说找到所有含有. 或者以abc开头的

其实不然

这两个-name构成了这样形式的表达式

Exp1 or Exp2

如果Exp1 为真的话,就不会再判断Exp2

如果Exp1为假,才执行Exp2,非常类似于C语言中的 " || " 符号

所以,如果匹配到有.的文件名,则不会执行后面的了,所以-print此时不会打印

今天也意外的发现了一点

find [path...] [expression]

在最后可以用 -exec command

如下:

find . -name "abc*" -exec ls {} /;

以前一直不明白后面加个 {} /;是干什么的

今天总算知道了

其实{} 表示匹配到前面的文件

所以,你也可以这样用:

find . -name "abc*" -exec mv {} {}.old /;

此时所完成的功能就是:

将所有以abc开关的文件,全部在后面加上 .old 后缀

2

转载于:https://www.cnblogs.com/wangkangluo1/archive/2011/08/18/2144383.html

我常用的find命令相关推荐

  1. 作为一个java程序员,常用的linux命令(越攒越多)

    本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...

  2. Linux常用20条命令

    Linux常用20条命令 假装这里有个标题 1.cd 2.ls 3.grep 4.find 5.cp 6.mv 7.rm 8.ps 9.kill 10.kill all 11.file 12.tar ...

  3. Git学习系列之一些常用的Git命令收录更新ing

    不多说,直接上干货!  前言 对于Git工具,有必要整理和总结一些常用实用的命令. http://p.primeton.com/articles/53cce3a3e138236138000026 ht ...

  4. 常用MySQL的命令集锦

    常用MySQL的命令集锦 一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再 ...

  5. sudo apt get linux,常用sudo apt-get命令

    常用sudo apt-get命令 (2018-02-22 13:08:06) 标签: it 大学 linux 杂谈 在操作系统Linux中,有些常用sudo apt-get命令需要熟记并使用. 1.s ...

  6. shell常用的基础命令

    shell常用的基础命令 1 diff命令 2 patch命令 3 cut命令 4 sort命令 5 uniq 命令 6 tr命令 7 &&和 || 8 test命令 8.1 test ...

  7. Python零基础入门(2)——常用的快捷命令、数据类型、输入输出格式、变量介绍

    1.常用快捷名命令 pycharm设置界面(ctrl + alt + s) 快速创建文件(alt + insert) 格式化python代码(ctrl + alt + l) 快速注释代码(ctrl + ...

  8. 计算机网络实验指导书实验报告,计算机网络实验一 熟悉常用的网络命令实验报告模板...

    实验一熟悉常用的网络命令实验报告 序号:姓名:学号:成绩指导教师: 1.实验目的: 学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连 ...

  9. 最常用的CURL命令大全

    为什么80%的码农都做不了架构师?>>>    日期:2012-6-10  来源:GBin1.com cURL是 一个非常实用的命令行工具,可以有效的帮助你处理URL相关操作和数据传 ...

  10. 常用的stsadm命令行参数

    常用的stsadm命令行参数有: 1.installfeature.uninstallfeature: feature部署和卸载: 安装feature:stsadm -o installfeature ...

最新文章

  1. 教你如何运用python实现学生信息管理系统
  2. uni-app实现上传多张照片
  3. python第七章_python 第七章 模块
  4. 【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理
  5. substring的用法
  6. 53.Azure中CentOS的Docker里安装运行SQL Server容器
  7. Qt平台下使用QJson解析和构建JSON字符串
  8. 解题:NOI 2016 优秀的拆分
  9. PostgreSQL在何处处理 sql查询之十四
  10. IntelliJ IDEA集成Maven
  11. 图解机器学习算法(9) | GBDT模型详解(机器学习通关指南·完结)
  12. 针式打印机 使用链式纸打印 如何配置纸张参数
  13. Linux基础篇(五):远程操作
  14. http上传文件服务器限制大小,修改Nginx与Apache配置参数解决http状态码:413上传文件大小限制问题...
  15. html做成avi格式文件,制作HTML网页插入视频Mp 4格式可以播放,AVI格式为何不可以播放...
  16. 【Verilog】消息码转AMI码的具体Verilog代码实践以及经验分享
  17. 基于truffle-contract库之solidity事件与合约调用完整案例!
  18. java百度上传控件_百度Bos上传文件工具类-BosUtils(java)
  19. c语言的变量和指针,怎么理解?
  20. 2019 年 JavaScript 现状调查报告火热出炉

热门文章

  1. controller报错MissingServletRequestParameterException: Required xxx parameter ‘xxx’ is not present
  2. java匿名类 - new接口
  3. 几种常见的程序命名规则
  4. 11. 数值的整数次方
  5. windows串口控制linux,是这个linux的串口配置与windows相同
  6. linux bin文件固件,电信物联网平台OTA软件升级bin文件包制作及上传
  7. python 反传播_Python:反向传播 (六十八)
  8. python 最小二乘回归 高斯核_[数值计算] 数据拟合——非线性最小二乘法
  9. java c 泛型 区别_为什么Javac会抱怨与类的类型参数无关的泛型?
  10. JS:获取字符串中第一个不是汉字的字符