linux命令--xargs的使用
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。
之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令
例:
[root@xiaojin ~]# find /sbin -perm +700|ls 这是错误的写法,只处理管道后面的命令
a.log anaconda-ks.cfg install.log install.log.syslog null xiaojin.txt
[root@xiaojin ~]# find /sbin -perm +700|xargs ls 正确的写法,把管道前面的结果标准输出给管道后面的命令
/sbin/accton /sbin/insmod.static /sbin/pdata_tools
/sbin/addpart /sbin/install-info /sbin/pidof
/sbin/agetty /sbin/installkernel /sbin/pivot_root
命令格式:
somecommand |xargs -item command
测试文件:
cat >>test.txt<<EOF
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
EOF
使用实例 1、多行输入单行输出 例:
[root@xiaojin ~]# cat test.txt
a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z
[root@xiaojin ~]# cat test.txt |xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
2、-n 多行输出
例:
[root@xiaojin ~]# cat test.txt |xargs -n 5
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
z
3、-d 定义一个定界符
例:
[root@xiaojin ~]# echo "namaeXnameXname"|xargs -dX
namae name name
[root@xiaojin ~]# echo "namaeXnameXname"|xargs -da
n m eXn meXn me
4、-n 结合 -d使用
例:
[root@xiaojin ~]# echo "namaeXnameXname"|xargs -dX -n1
namae
name
name
5、 -I,使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次:
例:
[root@xiaojin ~]# ls .*jpg|xargs -n1 -i cp {} /data01/images
6、xargs 结合 find 使用
用 rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long. 用 xargs 去避免这个问题:
find / -type f -name "*.log" |xargs rm -f
linux命令--xargs的使用的更多相关文章
- linux 命令 — xargs
xargs xargs能接收stdin并将其转化为特定命令的命令行参数,构建单行命令的重要工具 command | xargs 指定分隔符 echo "splitXsplitXsplitXs ...
- Linux命令-xargs
比如一个例子 echo "README.md" |cat echo "README.md" |xargs cat 第一个例子只是输出了README.md的文件名 ...
- Linux命令xargs的使用
ls | xargs catls | xargs -I {} cat {} 大写I,指定参数的替换符号为{} 自定义
- 开发必备linux命令大全-稳赚不亏
我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须.接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结束 系统性能参数查看 ...
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- linux命令瞎记录find xargs
1.创建多个文件 touch test{0..100}.txt 2.重定向 “>>” 追加重定向,追加内容,到文件的尾部 “>” 重定向,清除原文件里面所有内容,然后把内容追加到文件 ...
- Linux命令:xargs命令详解,xargs与管道的区别
阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人 ...
- 每日linux命令学习-xargs命令
xargs命令 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据 ...
- Linux下xargs命令详解及xargs与管道的区别
在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xarg ...
随机推荐
- 关于python的创立模块和导入
首先,模块就是所有的.py文件,而模块的作用便是简化代码,使其看得简易. 例如这就是模块: 'a test'这是注释,并没有什么作用. 而创立模块的第一步:建立一个.py文件例如:这是上方这串代码的模 ...
- 软件开发者路线图梗概&书摘chapter3
漫漫长路:自定路线,想象十年后 1.技重于艺:重视客户的交付价值 客户的解决方案与个人内在标准的平衡 2.持续动力:金钱.乐趣.名声 列出五项最重要的动力 3.培养激情:博客.钻研名著.加入学习小组. ...
- admin-6
Admin06 基本权限访问方式(权限) 读取:允许查看内容-read r 写入:允许修改内容-write w 可执行:允许运行和切换-execute x 对与文本文件: r:cat head tai ...
- XSS学习(三)挖掘思路
HTML标签之间 <div id="body"> [输出点] </div> payload:<script>alert(1)</scrip ...
- WMI tester
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 实现自己的MVC AJAX框架计划
最近看了一下设计自己框架的文章,所以也想自己去实现一个小框架,用于以后的项目中,只求方便, 需要参考各位前辈的代码,或者直接copy过来为我所用,哈哈,想想都开心. 不过,要写个好的框架肯定不容易,现 ...
- tab页的使用方法
css代码: #main{ margin:0px; width:100%; height:540px; background:url(m.jpg) no-repeat; background-size ...
- wakatime记录 coding时间的工具
想记录下自己每天coding 的时间以及每个在各个项目上coding的时间,之前一直也没有什么好的办法,无意之间发现wakatime这个插件可以记录自己每天有效的coding时间. wakatime ...
- MD5加密出现 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分
出现问题: 出现这个问题的原因是订票助手.NET使用了MD5算法,而系统的组策略安全设置导致无法使用此算法.要修正此问题,请按照如下操作(两种方法任选其一). 注:(来源于 http://ask.f ...
- 正则表达式与Python中re模块的使用
正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...