Linux中 xargs 命令用法
xargs命令:
xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。
1、它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。
2、xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。
3、xargs的默认命令是echo,空格是默认定界符。这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs处理,换行和空白将被空格取代。
4、xargs是构建单行命令的重要组件之一。
用法:
1、xargs用作替换工具,读取输入的数据再重新格式化后输出(-n -d)。
定义一个测试文件(多行文本数据):
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
单行输出:
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
-n 选项控制多行输出;-d 选项可自定义定界符/分割符:
echo "nameXnameXnameXname" | xargs -dX -n2 name name
name name //以 X 分割,以每行 2 个元素输出
2、读取stdin,并将格式化后的参数传递给命令( -I )。
假设有一个命令为sk.sh 和 一个保存参数的文件arg.txt:
echo $* //sk.sh命令内容:打印出所有参数 cat arg.txt //arg.txt文件内容如下 aaa
bbb
ccc
-I 选项,使用 -I 指定一个 要被替换的字符串{},在xargs扩展时该字符串会被替换(备注:当 -I 和 xargs 结合使用时每个参数命令都会被执行一次):
cat arg.txt | xargs -I {} ./sk.sh -p {} -l -p aaa -l
-p bbb -l
-p ccc -l
例:复制所有图片文件到 /data/images 目录下:
ls *.jpg | xargs -n1 -I {} cp {} /data/images
3、xargs 结合 find 使用
用 rm 删除太多文件时,可能得到一个错误信息:/bin/rm Argument list too long.
用 xargs 去避免这个问题(xargs -0 将 \0 作为定界符):
find . -type f -name "*.log" -print0 | xargs -0 rm -f
查找所有的 jpg 文件,并全部压缩:
find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz
4、xargs 其他应用
假如有一个文件包含很多需要下载的URL,则可以:
cat url-list.txt | xargs wget -c
Linux中 xargs 命令用法的更多相关文章
- linux中comm命令用法
linux系统中comm命令用法详解 linux系统下的comm命令是一个非常实用的文件对比命令. comm命令功能: 选择或拒绝两个已排序的文件的公共的行. comm命令语法:comm [-12 ...
- 【转】Linux中xargs的用法
xargs大 多数 Linux 命令都会产生输出:文件列表.字符串列表等.但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件.ascii 文本等 ...
- linux下xargs命令用法详解 【转】
转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...
- linux下xargs命令用法详解
原文:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...
- 转 linux下xargs命令用法详解
xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...
- linux中seq命令用法
NAME seq - print a sequence of numbers SYNOPSIS seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq ...
- Linux中find命令用法大全
Linux 查找命令是Linux系统中最重要和最常用的命令之一.查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令.查找可以在各种条件下使用,您可以通过权限,用户,组,文件类型,日 ...
- linux中tar命令用法
把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...
- linux中wc命令用法
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
随机推荐
- 牛客练习赛49 E 筱玛爱游戏 (线性基+博弈)
链接:https://ac.nowcoder.com/acm/contest/946/E 来源:牛客网 筱玛爱游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他 ...
- Codeforces 946 课程表背包DP 数位DFS构造
A B 给你A,B 两个数 1.a=0 OR b=0 break 2.a>=2b a=a-2b 3.b>=2a b=b-2a 如果只是单纯模拟肯定会超时 ...
- CQRS架构下的Saga流程重构
- 如何解决Bootstrap中分页不能居中的问题
尝试过1.text-align:center居中:2.margin:0 auto; 3.display: flex;justify-content: center;都不行 解决: 在外层多加一个nav ...
- Python(1) 整型与浮动型
整型与浮动型 整数/浮动数=浮点型整数/整数 = 浮点型 例如:>>> type(1/1)<class 'float'>>>> type(1/1.0)& ...
- 【JavaScript】DOM之BOM
BOM 1.BOM是什么 提供了独立页面内容,与浏览器相关的一系列对象,管理窗口之间通信 2.Window对象 具有双重角色,对象即是允许JS访问浏览器窗口的一个对象,和ECMAScript规范中的G ...
- AI人工智能对医疗行业有哪些巨大贡献?
人工智能(AI)有可能显着改变医生的角色并彻底改变医学实践.这篇定性评价文章总结了过去12个月的人工智能健康研究,涉及不同的医学专业,并讨论了与这一新兴技术相关的当前优势和挑战. 医生,特别是担任领导 ...
- java:Set对象TreeSet有序子类,HashSet无序子类,重复对象二
TreeSet有序子类; HashSet无序子类 重复重复元素,Object对象是通过equals和hashCode来进行过滤的. 如果将上一篇提到中的例子中的TreeSet,换成HashSet,那么 ...
- Python---Tkinter---贪吃蛇(稳定的外部环境,稳定的内心)
# 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food - 上面代码不太 ...
- java 生成透明背景图片
//开始绘图 graphics2d.setBackground(Color.WHITE); graphics2d.clearRect(0, 0, width, height); graphics2d. ...