• Linux命令简单操作之find和xargs


    一、find

    find:沿着文件层次结构向下遍历,匹配符合条件的文件,执行相应操作

    常用参数

      -print:打印出批判文件的文件名(路径), 是输出文件的分割符

      -print0:(null)作为输出文件的分割符,xargs -0

      -name:文件名必需匹配的字符串,(-name“xx”-o -name“xx”) 匹配多个字符串

      -iname:忽略字母大小写

      -path:匹配文件路径

      -type:文件类型过滤

      -size:文件大小搜索

      -delete:删除查找到的文件

      -perm:匹配具有特定权限值的文件

      -newer:指定一个用于比较时间戳的参考文件,匹配出参考文件更新的所有文件

      -user:制定某用户文件

      -exec:借助-exec与其他命令进行结合,命令格式为:command {} ; 注意{}和之间的空格

      -ok:和-exec的作用相同,只是在安全模式下进行操作,按y键yes,按n键no

      -atime:访问时间,用户最近一次访问文件的时间,单位:天  -amin 单位:分

      -mtime:修改时间,文件内容最后一次被修改的时间,单位:天 –mmin 单位:分

      -ctime:文件(例如权限或所有权)最后一次改变的时间,单位:天 –cmin单位:分

       -表示小于(最近) +表示大于(超过) 没有- 或+ 表示数字当天

      !:表示不匹配规则的文件 

    应用:

      1.列出所有的.txt 或者 .h的文件:

      find . -type f  -name "*.txt"  -or -name "*.h"

      2.-exec:借助-exec与其他命令进行结合,命令格式为:command {} ; 注意{}和之间的空格

    二、xargs

    xargs:构造命令行参数并运行命令

    同管道的区别

       管道是实现将前面的标准输出作为后面的标准输入

        xargs是实现将标准输入作为命令的参数

       xargs的默认命令是echo,默认定界符是空格(空白字符)

        这意味着传递给xargs的输入如果包含换行和空白字符,通过xargs的处理,换行和空白将被空格取代,因此xargs是构建单行命令的重要组件之一

     常用参数

      -n number :多行输出,多个参数

      -d X:自定义定界符

      -I | -i replace_str:在xargs扩展时replace_str会被替换为从标准输入的每一行参数

      -L number :标准输入读取非空number行作为参数,-L 1 等价于-I

      -p:询问是否运行

      -t:启用跟踪方式

      -s size:设置命令行的最大字节数

      -x:如果有任何 命令行大于 -s Size 标志指定的字节数,停止运行 xargs 命令

    应用:

      1.-n number:设置命令的参数个数

      2.-I replace_str:命令参数替换

      3、xargs和find算是一对死党

      find的-print0和xargs的-0

      ps:只要是把find的输出结果作为xargs的输入,就必须将-print0与find结合使用,以字符null()来分割,同时,xargs -0将null作为定界符

  • 相关阅读:
    04-JQuery
    03-JavaScript
    02-CSS&JS
    01-HTML
    [LeetCode]Insert Interval
    [shell编程]正则表达式
    [LeetCode]Jump Game II
    [LeetCode]Jump Game
    [LeetCode]Wildcard Matching
    [shell编程]初识sed和gawk
  • 原文地址:https://www.cnblogs.com/luyanhong456/p/7663234.html
Copyright © 2020-2023  润新知