find参数exec、管道符|、xargs的区别
1.这三个命令都可以将前面的输出做为后面的输入。
2.他们对于前面的输出,处理方式不同。
find . -name "*.sh" -exec cat {} \;
find . -name "*.sh" |cat
find . -name "*.sh" |xargs cat
示例一:
- [root@host temp]# cat ex.sh
- a.txt
- b.txt
- c.txt
- d.txt
- .txt
- [root@host temp]# find . -name "ex.sh" -exec cat {} \;
- a.txt
- b.txt
- c.txt
- d.txt
- .txt
- [root@host temp]# find . -name "ex.sh"|cat
- ./ex.sh
- [root@host temp]# find . -name "ex.sh"|xargs cat
- a.txt
- b.txt
- c.txt
- d.txt
- .txt
- [root@host temp]#
示例二:
- [root@host django]# find . -name "*.py"
- ./siteone/blog/models.py
- ./siteone/blog/__init__.py
- ./siteone/blog/migrations/__init__.py
- ./siteone/blog/tests.py
- ./siteone/blog/views.py
- ./siteone/blog/admin.py
- ./siteone/siteone/urls.py
- ./siteone/siteone/__init__.py
- ./siteone/siteone/settings.py
- ./siteone/siteone/wsgi.py
- ./siteone/manage.py
- [root@host django]# find . -name "*.py" -exec echo {} \;
- ./siteone/blog/models.py
- ./siteone/blog/__init__.py
- ./siteone/blog/migrations/__init__.py
- ./siteone/blog/tests.py
- ./siteone/blog/views.py
- ./siteone/blog/admin.py
- ./siteone/siteone/urls.py
- ./siteone/siteone/__init__.py
- ./siteone/siteone/settings.py
- ./siteone/siteone/wsgi.py
- ./siteone/manage.py
- [root@host django]# find . -name "*.py" |echo
- [root@host django]# find . -name "*.py" |xargs echo
- ./siteone/blog/models.py ./siteone/blog/__init__.py ./siteone/blog/migrations/__init__.py ./siteone/blog/tests.py ./siteone/blog/views.py ./siteone/blog/admin.py ./siteone/siteone/urls.py ./siteone/siteone/__init__.py ./siteone/siteone/settings.py ./siteone/siteone/wsgi.py ./siteone/manage.py
- [root@host django]#
总结:
exec会对每一个find找到的文件,执行一次命令。
xargs是把所有找到的文件名根据空格或者回车分割成一个一个的参数传递给命令
不用xargs的管道符是将前面的标准输出,做为后面命令的标准输入
带有xargs的管道符是将前面的标准输出,做为后面命令的参数
find参数exec、管道符|、xargs的区别的更多相关文章
- 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别(新版)
前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 "-exec" 尤其实用.而 "xargs" 命令,针对查询也有属于自己的见解.本文着重讲解 ...
- 正则表达式中的exec和match方法的区别
正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...
- Java不定参数Object… obj 和 Object[] 的区别
Java不定参数Object… obj 和 Object[] 的区别 简述: java中方法重载可以实现参数不同自动匹配对应方法.但现实中也存在这种问题.普通传参对于形如下面的方法,却显得臃肿而失优雅 ...
- JMeter基础:请求参数Parameters 、Body Data的区别
使用Jmeter测试时,很多人不知道请求参数Parameters .Body Data的区别和用途,这里简单介绍下 先了解一个接口的基本概念 在客户机和服务器之间进行请求-响应时,HTTP协议中包括G ...
- rake db:migrate 与 bundle exec rake db:migrate 的区别(copy)
[说明:资料来自http://blog.csdn.net/lihuan974683978/article/details/8715414] 之前一直没弄明白rake db:migrate 与 bun ...
- 传递集合参数以及SpringMVC和Struts2的区别
一.传递集合参数 二.和Struts2的区别 Struts2是基于类封装请求参数,SpringMVC是基于方法封装参数:
- -exec 与 xargs 的区别
实地在shell里执行下如下命令就知道区别了: $ find -type f -exec echo {} \; 很明显,exec是对每个找到的文件执行一次命令.从这里可以看出exec的缺点是每处理一个 ...
- 【转】exec xargs的区别 另附eval命令介绍
-exec: 对符合条件的文件执行所给的Linux 命令,执行exec后面的shell脚本.脚本中,{}表示命令的参数即为所找到的文件,以:表示comman命令的结束.\是转义符,因为分号在命令中还 ...
- linux exec和xargs的区别
-exec 1.参数是一个一个传递的,传递一个参数执行一次,效率低 2.文件名有空格等特殊字符也能处理 -xargs 1.一次将参数传给命令,可以使用-n控制参数个数 ...
随机推荐
- application
改变全局application到页面的参数 添加参数:HttpServletRequest req 使用req.getSession().getServletContext().setAttribut ...
- CSS实现底部固定
html代码结构 <body> <div class="wrap"> <div class="head"></div& ...
- hibernate4中取得connection的方法
在hibernate3中,使用了c3p0连接池,尝试了多种办法取得connection对象,以下两种可以使用. Java代码 Connection conn; // 方法1:hibernate4中将 ...
- netstat miscellaneousness
netstat -a (--all) : show both listening and non-listening sockets 默认是不显示正在侦听的进程,只显示已经established的 n ...
- linuxMint設置窗口最大最小化
linuxMint下面用键盘快速让窗口最大化和最小化
- Hadoop集群搭建
配置IP,修改主机名,关闭防火墙,配置SSH免密码登录
- 使用MVVM框架avalon.js实现一个简易日历
最近在做公司内部的运营管理系统,因为与日历密切相关,同时无需触发条件直接显示在页面上,所以针对这样的功能场景,我就用avalon快速实现了一个简易日历,毕竟也是第一次造日历这种轮子,所以这里记录下我当 ...
- python爬虫神器PyQuery的使用方法
你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有了一些 ...
- 删除某一BSC在某一时间段内的数据
DELETE FROM cdl_raw_do_12501_ztev8_sht_201509 WHERE call_start_time >= STR_TO_DATE( '2015-09-14 2 ...
- CSS 补充
属性选择器下面的例子为带有 title 属性的所有元素设置样式:[title]{ color:red;} <h1>可以应用样式:</h1><h2 title=" ...