• find用法 以及和exec xargs 的组合使用


    1、查找当前目录下所有的txt的文件

    [root@master1 ~]# find . -name "*.txt" -type f
    ./a.txt
    ./b.txt

    2、exec 结合  :查找当前目录下所有的txt的文件并读取文件内容

    [root@master1 ~]# find . -name "*.txt" -type f -exec cat {} \;
    1111a
    2222a
    33333b
    44444b
    [root@master1 ~]#

    3、与xargs结合  :查找当前目录下所有的txt的文件并读取文件内容

    [root@master1 ~]# find . -name "*.txt" -type f |xargs cat
    1111a
    2222a
    33333b
    44444b
    [root@master1 ~]#

    ps:exec参数是一个一个传递的,传递一个参数执行一次命令;xargs一次将参数传给命令,可以使用-n控制参数个数

         如果文件数量太多 建议不要使用xargs  linux有参数上限限制的

    4、find 有时候删除大量文件的时候很有用  可以用上面的命令结合来删  只要吧cat  换成 rm -f  就行了  但我这里提供一个新思路  用find 自带的delete 更快一点 也更灵活简单

    find . -name "*.txt" -type f -delete

    5、find检索可以做到与或的检索

        比如检索 a开头的文件 或者b开头的文件   -o  参数 代表 or

    [root@master1 ~]# find . -name "a.*" -o -name "b.*" -type f
    ./a.txt
    ./b.txt

    比如查找a开头的文件且 是txt文件类型的  -a 参数表示 and

    [root@master1 ~]# find . -name "a.*" -a -name "*.txt" -type f
    ./a.txt
    [root@master1 ~]#

    6、其他常用参数列一下

    -size +100M   文件大于100M的
    -atime +1       文件访问时间大于1天的
    -amin  +30      文件访问时间大于30分钟的
    -mtime +1      文件修改时间一天以上的
    -mmin +30     文件修改时间30分钟以上的
    -perm 644      文件权限是644的 即 rw-r--r--
    -user xxx        可以指定文件用户
    -group   xxx    可以指定文件属组
  • 相关阅读:
    MySQL的四种事务隔离级别理解(new)
    深入分析ReentrantLock公平锁和非公平锁的区别 (转)
    Ubuntu 安装nginx
    Linux 文件的权限
    java Request 获得用户IP地址
    Maven profile 打包分环境加载不同的资源文件
    JQuery Ajax jsonp
    HttpClient 4.5.3 get和post请求https post
    Jenkins的安装配置
    javascript正则表达式
  • 原文地址:https://www.cnblogs.com/xlovepython/p/14524586.html
Copyright © 2020-2023  润新知