xargs 的妙用

Love The Way You Lie 2023-06-28 08:47 104阅读 0赞

与find一起使用

场景:统计一个源代码目录中所有js文件的行数:

  1. find . -type f -name "*.js" -print0 | xargs -0 wc -l

与grep一起使用

场景:删除匹配文件:

  1. #测试文件:
  2. echo "aaa" > file1
  3. echo "bbb" > file2
  4. echo "aaa" > file3
  5. grep "aaa" file* -lZ | xargs -0 rm

执行后会删除file1和file3,grep输出用-Z选项来指定以0值字节作为终结符文件名(\0),xargs -0 读取输入并用0值字节终结符分隔文件名,然后删除匹配文件,-Z通常和-l结合使用。

与cp一起使用

场景:复制所有图片文件到 /data/images 目录下

  1. ls *.jpg | xargs -n1 -I cp {} /data/images

xargs的一个选项-I,使用-I指定一个替换字符串{},这个字符串在xargs扩展时会被替换掉,当-I与xargs结合使用,每一个参数命令都会被执行一次

发表评论

表情:
评论列表 (有 0 条评论,104人围观)

还没有评论,来说两句吧...

相关阅读

    相关 xargs命令

    xargs命令: xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。 它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并

    相关 Typora

    typora是一个非常棒的markdown编辑器,之前只是拿它来写markdown文档,实时的展示样式感觉非常方便,在一个偶然中发现了这个编辑器的其他妙用。 背景是这样的,我

    相关 xargs

    简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的 find /sbi

    相关 void

    任何表达式都会产生一个值,但是在算数表达式中,如果对计算的值没有进行接收或进行任何其他操作,那么在强制警告的时候编译就会出现警告,此时需要将表达式转为void,表示显示的将该值