zoukankan      html  css  js  c++  java
  • Xargs 批量处理命令

     

    xargs是实现批量处理最方便的方法,掌握xargs能省下写许多不必要的脚本。下面已几个例子说明(某些只适用于GNU xargs):

    • 删除所有.txt文件,可以在子目录下:find . -name "*.txt" | xargs rm
    • 打包一个目录下所有.pl文件,可在深层子目录:find . -name "*.pl" | xargs tar -zcf perl.tar.gz
    • 提交一个文件所包含的所有命令(一个命令一行):cat myfile.sh | xargs -i echo qsub {} | sh
    • kill所有满足某个匹配的进程:ps -ax | awk '/something/{print $1}' | xargs kill
    • 批量文件重命名(*.txt->*.bak):find . -name "*.txt" | sed "s/\.txt$//" | xargs -i echo mv {}.txt {}.bak | sh
    • 将一个命令运行100次(比如做bootstrap):awk 'BEGIN{for(i=1;i<=100;++i)print i}' | xargs -i echo qsub -o {}.out -e {}.err somecmd -output {}.out | sh



    这里用echo...sh是为了防止敲错命令。使用时先不加sh,把命令打印到屏幕上,确认无误后加sh真正执行。

  • 相关阅读:
    3185 队列练习 1 3186 队列练习 2
    1063 合并果子
    堆排序
    奇怪的电梯
    3411 洪水
    2010 求后序遍历
    1729 单词查找树
    3137 栈练习1
    2821 天使之城
    括弧匹配检验(check.cpp)
  • 原文地址:https://www.cnblogs.com/buttonwood/p/shell.html
Copyright © 2011-2022 走看看