首页 > 代码库 > xargs命令
xargs命令
xargs 又称管道命令,构造参数等。是给命令传递参数的一个过滤器,也是组合多个命令的一个工具 它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理 。简单的说 就是把 其他命令的给它的数据 传递给它后面的命令作为参数
主要参数
-i 用 {} 代替 传递的数据
-I string 用string来代替传递的数据
-n[数字] 设置每次传递几行数据
-t 显示执行详情
-p 交互模式
-P n 允许的最大线程数量为n
-s[大小] 设置传递参数的最大字节数(小于131072字节)
-x 大于 -s 设置的最大长度结束 xargs命令执行
-i参数:
[root@localhost ~]# ls |grep .php |xargs -i mv {} {}.bak #将当前目录下php文件,改名字[root@localhost ~]# ls |grep .php |xargs -I {} mv {} {}.bak #与上例相同[root@localhost ~]# find ./ -name "*.tmp" | xargs -i rm -rf {} #删除当前文件夹下的tmp文
-n 参数:
[root@localhost ~]# cat example.txt1 2 3 4 56 78
[root@localhost ~]# cat example.txt | xargs #将数据转为一行输出,xargs默认用空格分隔每次传递的数据
1 2 3 4 5 6 7 8
[root@localhost ~]# cat example.txt | xargs -n 2 #按照每行两列输出1 23 45 67 8
[root@localhost ~]# echo "splitXhiXamosliXsplit" | xargs -d "X" -n 1 #用-d指定分隔符分隔字符串
split
hi
amosli
split
读取stdin,将格式化参数传递给命令:
[root@localhost ~]# cat cecho.shecho $*‘#‘#需求1:输出多个参数[root@localhost ~]# sh cecho.sh arg1arg1#[root@localhost ~]# sh cecho.sh arg2arg2#[root@localhost ~]# sh cecho.sh arg3arg3##需求2:一次性提供所有的命令参数[root@localhost ~]# sh cecho.sh arg1 arg2 arg3arg1 arg1 arg2 arg3##针对需求1、2,使用xargs代替,先用vi建一个新文件args.txt,如下:[root@localhost ~]# cat args.txtarg1arg2arg3#批量输出参数:[root@localhost ~]# cat args.txt | xargs -n 1arg1arg2arg3[root@localhost ~]# cat args.txt | xargs -n 2 sh cecho.sharg1 arg2#arg3##一次性输出所有参数:[root@localhost ~]# cat args.txt | xargs sh cecho.sh ;arg1 arg2 arg3#
xargs命令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。