Linux文本查找命令find的用法详解

 更新时间:2019年03月06日 15:21:49   作者:wdz306ling  
今天小编就为大家分享一篇关于Linux文本查找命令find的用法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

find 命令主要用于查找目录和文件,可以指定多种参数进行匹配。

用法:find  +查找路径  +命令参数   [输出形式]

查找路径:告诉find在哪查找

命令参数:指定要查找的文件属性,属性包括多种,类型、名称、大小、修改时间等等

常用的参数:

  • -name 按文件名进行查找
  • -user 按照文件的属主进行查找
  • -mtime  按照文件的更改时间来查找,-n 表示文件修改时间距今天n天以内,+n 表示文件修改时间距今天n天以前
  • -type  按照文件的类型查找,d 表示目录, f表示文件 ,l 表示符号连接文件
  • -size  按照文件大小进行查找(需要加单位,K、M、G),+n M 表示查找文件大于n M的文件
  • -maxdepth 指定查找文件时的最大层级(默认是在指定路径下的所有子目录中查找,指定层级后可以现在只在一级目录或者2级目录查找) 

输出形式:输出形式可选,输出形式有 -print 打印查找到的内容(默认就会打印查找到的内容,因此一般不用),-exec 对查找到的内容做进一步处理(比较常用),形式为:

-exec   Linux指令  {}  \;   {}代表查找到的内容

实例:

find . -maxdepth 1 -name "1.txt"  # 直接指定文件名查找 ,-maxdepth 1表示最大查找层级为一级目录

find . -maxdepth 1 -name "*.txt"  # 在当前目录下查找.txt结尾的文件

find . -maxdepth 1 -name "[0-9].txt"  # 查找以数字命名的txt文件

find . -maxdepth 1 -name "[0-9]*.txt"  # 查找以数字开头的文件

find . -maxdepth 1 -mtime -5  # 查找当前目录下,5天之内有修改过的文件

find . -maxdepth 1 -mtime +5  # 查找当前目录下,修改时间超过5天的文件

find . -maxdepth 1 -type d  # 在当前目录中查找类型是目录的文件,最大查找层级一级目录(会查找隐藏的目录)

find . -maxdepth 1 -size +10M  # 查找当前目录下大于10M的文件

find . -maxdepth 1 -size -1M   # 查找当前目录下小于1M的文件

find . -maxdepth 1 -name "[a-z].txt" -exec rm -rf {} \;  # 查找以一个字母命名的txt文件,进行删除

find . -maxdepth 1 -name "*.txt" | xargs grep "error"  # 打印以txt结尾的文件中,有error的行的内容

find . -maxdepth 1 -name "*.txt" | xargs rm  # 删除当前目录下txt结尾的文件

xargs 将管道前命令的执行结果当作参数逐个传递后管道后的命令

ls [a-z].txt | xargs -n1 -i{} mv {} {}.bak   # 将当前目录中以单个字母命名的txt文件增加一个.bak后缀,-n1意思是一个一个对象的去处理,-i{} 把前面的对象使用{}取代,mv {} {}.bak 相当于 mv a.txt a.txt.bak

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 详解Linux监控重要进程的实现方法

    详解Linux监控重要进程的实现方法

    这篇文章主要介绍了详解Linux监控重要进程的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 在linux下开启FTP服务方法介绍

    在linux下开启FTP服务方法介绍

    这篇文章主要介绍了在linux下开启FTP服务方法介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Linux NFS机制工作原理及实例解析

    Linux NFS机制工作原理及实例解析

    这篇文章主要介绍了Linux NFS机制工作原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • linux环境不使用hadoop安装单机版spark的方法

    linux环境不使用hadoop安装单机版spark的方法

    今天小编就为大家分享一篇关于linux环境不使用hadoop安装单机版spark的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • linux下搭建scala环境并写个简单的scala程序

    linux下搭建scala环境并写个简单的scala程序

    今天小编就为大家分享一篇关于linux下搭建scala环境并写个简单的scala程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Linux中Netcat命令整理

    Linux中Netcat命令整理

    本篇文章给大家整理了Linux中Netcat的命令以及命令的功能详解,一起学习下。
    2018-02-02
  • linux安装RocketMQ实例步骤

    linux安装RocketMQ实例步骤

    在本篇文章里小编给大家整理的是关于linux安装RocketMQ实例步骤内容,需要的朋友们可以参考下。
    2020-02-02
  • linux服务器ubuntu定时任务cron设置每秒执行

    linux服务器ubuntu定时任务cron设置每秒执行

    这篇文章主要介绍了linux服务器ubuntu定时任务cron设置每秒执行,使用 cron 时,有一些注意事项可以帮助你确保任务按预期执行,并减少潜在的问题,本文给大家介绍的非常详细,需要的朋友参考下吧
    2024-02-02
  • 如何配置Apache服务器中的虚拟机

    如何配置Apache服务器中的虚拟机

    Apache 的虚拟主机就是在一台服务器上运行多个网站,每个虚拟主机都可以绑定独立的域名,为这些域名可以指定单独的目录,访问这些域名的时候,Apache 会打开对应目录里面的东西。本文给大家介绍Apache服务器虚拟机的配置方法,感兴趣的朋友一起学习吧
    2016-04-04
  • 解决nginx/apache静态资源跨域访问问题详解

    解决nginx/apache静态资源跨域访问问题详解

    有时为了优化网站访问速度,会给一些静态资源配置cdn加速,但是有时候会出现跨域访问的问题,在nginx和apache服务中可进行如下配置
    2018-10-10

最新评论