xargs命令
2015-07-16 10:58
169 查看
find . -name "*.c" | xargs rm -rf
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。
1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
2. 获得/etc/ 下所有*.c 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l
# find /etc -name "*.c" | xargs ls –l
3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接
# cat list.txt | xargs wget –c
4. 查找所有的jpg 文件,并且压缩它
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。
1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
2. 获得/etc/ 下所有*.c 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l
# find /etc -name "*.c" | xargs ls –l
3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接
# cat list.txt | xargs wget –c
4. 查找所有的jpg 文件,并且压缩它
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
相关文章推荐
- 谷歌访问助手(chrome版)安装方法
- 《Spring技术内幕》学习笔记14——Spring读取和处理事务配置
- 《Spring技术内幕》学习笔记15——Spring事务处理的实现
- Oracle创建DBLink
- 自制Console线(已测试CISCO3560可用)
- mysql基本操作
- M - 非常可乐
- 带参数的构造函数
- Android基础:listview的item点击事件会使里面的Button也出现按压的效果
- Product of Array Except Self
- 最短路径问题(Dijkstra)
- 设置UITableViewCell背景色
- 深搜专题初步-1003
- 数据库按条件迁移表的列的值
- 《Spring技术内幕》学习笔记12——HibernateTemplate对Hibernate的封装
- 《Spring技术内幕》学习笔记13——SqlMapClientTemplate对Ibatis的封装
- 1.7 css依赖顺序的解析
- 操作系统---学习笔记0
- android 网络交互
- NSMutableString