xargs详解
一、场景
这个命令是错误的
find ./ -perm +700 |ls -l
这样才是正确的
find ./ -perm +700 |xargs ls -l
二、用法
[root@localhost tmp]# xargs --help
Usage: xargs [-0prtx] [--interactive] [--null] [-d|--delimiter=delim]
[-E eof-str] [-e[eof-str]] [--eof[=eof-str]]
[-L max-lines] [-l[max-lines]] [--max-lines[=max-lines]]
[-I replace-str] [-i[replace-str]] [--replace[=replace-str]]
[-n max-args] [--max-args=max-args]
[-s max-chars] [--max-chars=max-chars]
[-P max-procs] [--max-procs=max-procs] [--show-limits]
[--verbose] [--exit] [--no-run-if-empty] [--arg-file=file]
[--version] [--help] [command [initial-arguments]] Report bugs to <bug-findutils@gnu.org>.
三、示例
1、压缩所有的日志文件到每一个文件
find ./ -type f -name "*.log" | xargs -i -t tar -zcvf {}.tar.gz {}
2、压缩所有的图片文件到一个文件
find ./ -name *.jpg -type f -print | xargs tar -zcvf images.tar.gz
3、文件内容替换
find ./ -maxdepth 2 -name a -print | xargs -t -i sed -i '1 i\111' '{}'
4、权限修改
find ./ -perm -7 -print | xargs chmod o-w
5、查看文件类型
find ./ -type f -print | xargs file
6、删除多个文件
find ./ -name "*.log" -print0 | xargs -i -0 rm -f {}
7、复制多个文件
find ./ -type f -name "*.txt" | xargs -i cp {} /tmp/
find ./ -type f -name "*.txt" | xargs -I {} cp {} /tmp/
三、注意事项
1、加-i 参数直接用 {}就能代替管道之前的标准输出的内容;加 -I 参数 需要事先指定替换字符
2、cshell和tcshell中,需要将{}用单引号、双引号或反斜杠
3、如果需要处理特殊字符,需要使用-0参数进行处理
xargs详解的更多相关文章
- [转]xargs详解
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...
- linux shell 脚本攻略学习6-xargs详解
xargs是一条Unix和类Unix操作系统的常用命令.它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题. 例如,下面的命令: rm `find /path -type f` ...
- Linux文件查找命令find和xargs详解
PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实 ...
- linux xargs详解
xargs [-0prtx] [-E eof-str] [-e[eof-str]] [--eof[=eof-str]] [--null] [-d delimiter] [--delimiter d ...
- [转帖]xargs命令详解,xargs与管道的区别
xargs命令详解,xargs与管道的区别 https://www.cnblogs.com/wangqiguo/p/6464234.html 之前一直说要学习一下 xargs 到现在为止也没学习.. ...
- (转)Xargs用法详解
Xargs用法详解 原文:http://czmmiao.iteye.com/blog/1949225 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以 ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
随机推荐
- unity 质量设置 Quality Settings
Unity allows you to set the level of graphical quality it will attempt to render. Generally speaking ...
- html在线编辑器汇总
1. TinyMCE 免费,开源,轻量的在线编辑器,基于 JavaScript,高度可定制,跨平台. 2. FCKEditor 免费,开源,用户量庞大的在线编辑器,有良好的社区支持. 3. YUI E ...
- MySQL Workbench update语句错误Error Code: 1175.
rom:http://www.tuicool.com/articles/NJ3QRz MySQL update error: Error Code: 1175. You are using safe ...
- SpringMVC @RequestBody 接收Json数组对象
@RequestMapping(value="/signIn",method=RequestMethod.POST) public int saveUser(@RequestBod ...
- 玩转kafka
http://zookeeper.apache.org/releases.html#download http://kafka.apache.org/downloads.html(下载最新 二进制版本 ...
- 常用数据类型对应字节数,int长度
常用数据类型对应字节数: 这两台机器,前者32位,后者64位,测试了以下数据类型的长度: 前者: ,, 后者: ,, 不是说int会变吗,为何变得是long? 还有如果要写个通用的程序,订死必须用4个 ...
- assets raw 资源 AssetManager
assets raw 目录简介 assets核心特性:不会被编译成二进制,支持子目录(可以分类,这是相对raw目录最大的好处),通过文件名访问,调用getAssets通过AssetManager访问 ...
- js常用的事件对象
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event. ...
- COM中导出GUID
编写COM组件的时候需要导出GUID,以下是代码示例. extern "C" const GUID CLSID_Dictionary = { 0x54bf656 ...
- [Javascript] Closure Cove, Common mistake
They’ve got a problem with their existing code, which tries to use a closure. Check it out: function ...