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.前者可 ...
随机推荐
- Oracle中Instr用法
在项目中用到了Oracle中 Instr 这个函数,顺便仔细的再次学习了一下这个知识. Oracle中,可以使用 Instr 函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为:Instr ...
- Kafka实现细节(三)
如果你第一次看kafka的文章,请先看<分布式消息系统kafka初步> 之前有人问kafka和一般的MQ之间的区别,这个问题挺难回答,我觉得不如从kafka的实现原理来分析更为透彻,这篇将 ...
- Ubuntu安装Oracle时出现乱码,及其他安装错误
只要在运行./runInstaller之前先运行下以下命令就ok了: export LANG=en_US #设置运行语言 编译错误 ln -s /usr/lib/i386-linux-gnu/libp ...
- MATLAB 人脸定位
faceimg = x222;faceDetector = vision.CascadeObjectDetector();bbox = step(faceDetector, faceimg);face ...
- 动态图片 Movie android-gif-drawable GifView
Movie 类 文档位置:/sdk/docs/reference/android/graphics/Movie.html 官方对这个类连一句介绍都没有,并且所有的方法也没有一行注释,可见多么不受重视! ...
- c语言中pthread的理解和使用
在头文件中看到#typedef unsigned long int pthread_t这句话怎么理解,pthread_t是一个什么类型呢? 相当于pthread_t实际是个unsigned long ...
- Install Identity management Database
Install Identity management Database Installing Oracle Fusion Applications > Setting up I ...
- oracle client字符集设置 乱码问题
程序员经常要连接数据库 下面 就说一下 oracle数据库 客户端与服务器端 字符集一致性的问题 这可以解决中文乱码,其他字符乱码问题 主要是指在sqlplus中,其他类似toad/pls ...
- windows server 2012 IE增强的安全配置如何关闭
http://jingyan.baidu.com/article/6181c3e076ac0b152ff15354.html 打开左下角的 服务端 关闭这个就可以了
- Nginx负载均衡简易方法
做个简单的测试,一个Nginx, 通过FastCGI协议和另外两台服务器上的基于CppCMS开发的web server通信.配置方法很简单: 首先,必须在nginx.conf文件开头,server 配 ...