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的区别的更多相关文章

  1. 关于 ‘--exec’ 参数( find 命令)及介绍 ‘xargs ’命令区别(新版)

    前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 "-exec" 尤其实用.而 "xargs" 命令,针对查询也有属于自己的见解.本文着重讲解 ...

  2. 正则表达式中的exec和match方法的区别

    正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...

  3. Java不定参数Object… obj 和 Object[] 的区别

    Java不定参数Object… obj 和 Object[] 的区别 简述: java中方法重载可以实现参数不同自动匹配对应方法.但现实中也存在这种问题.普通传参对于形如下面的方法,却显得臃肿而失优雅 ...

  4. JMeter基础:请求参数Parameters 、Body Data的区别

    使用Jmeter测试时,很多人不知道请求参数Parameters .Body Data的区别和用途,这里简单介绍下 先了解一个接口的基本概念 在客户机和服务器之间进行请求-响应时,HTTP协议中包括G ...

  5. rake db:migrate 与 bundle exec rake db:migrate 的区别(copy)

    [说明:资料来自http://blog.csdn.net/lihuan974683978/article/details/8715414] 之前一直没弄明白rake  db:migrate 与 bun ...

  6. 传递集合参数以及SpringMVC和Struts2的区别

    一.传递集合参数 二.和Struts2的区别 Struts2是基于类封装请求参数,SpringMVC是基于方法封装参数:

  7. -exec 与 xargs 的区别

    实地在shell里执行下如下命令就知道区别了: $ find -type f -exec echo {} \; 很明显,exec是对每个找到的文件执行一次命令.从这里可以看出exec的缺点是每处理一个 ...

  8. 【转】exec xargs的区别 另附eval命令介绍

    -exec:  对符合条件的文件执行所给的Linux 命令,执行exec后面的shell脚本.脚本中,{}表示命令的参数即为所找到的文件,以:表示comman命令的结束.\是转义符,因为分号在命令中还 ...

  9. linux exec和xargs的区别

    -exec     1.参数是一个一个传递的,传递一个参数执行一次,效率低     2.文件名有空格等特殊字符也能处理 -xargs      1.一次将参数传给命令,可以使用-n控制参数个数     ...

随机推荐

  1. ubuntu命令行打开html文件的方法

    1.Ctrl+Alt+T可以打开shell,F11可以全屏显示,输入以下命令即可打开js17.html,并且指定浏览器,比如指定chrome, 复制代码 代码如下: google-chrome js1 ...

  2. ASP.NET MVC 自己实现登陆验证过滤器

    1.首先添加一个过滤器类,并实现接口中对应的方法 public class YLFAuthorizeAttribute : FilterAttribute, IAuthorizationFilter ...

  3. UCMA设置lync在线状态

    摘要 UCMA全称Microsoft Unified Communications Managed API,主要用来构建工作在Microsoft Lync Server上的中间层应用程序.开发人员可以 ...

  4. C生成随机数,奇葩问题

    今天需要生成一个随机数,奇怪的问题发生了. #include <stdio.h> #include <stdlib.h> #include <time.h> #de ...

  5. 网站为什么要做SEO

    网站为什么要做seo,不做seo可以吗?因为seo是获得流量比较稳定.长久的方式,也是自身品牌的最好的方式.我们做的网站必须有用户访问或者被用户知道才有价值和意义,而想被用户所了解的话,必须做网络营销 ...

  6. Linux中服务器软件为什么需要编译安装

    为什么服务器软件需要编译安装?一个流传很广的说法是编译安装性能更好,其实这是个谣言. 服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的.Intel宣传自己的编译工具 ...

  7. 【转载】Unity 优雅地管理资源,减少占用内存,优化游戏

    转自:星辰的<Unity3D占用内存太大的解决方法> 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D  ...

  8. ICloud没有密码怎么注销?

    忘了密码的用这方法就可以啦1.现在我说你做 . 先进入 iCloud 点击 某某账户(要删的账户)2.第二栏密码那里删除原来的再输入ios(任意密码)3.然后点完成 之后会出现错误.请点 好.然后左上 ...

  9. 【C语言入门教程】7.2 结构体数组的定义和引用

    7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...

  10. thinkphp中的自动验证

    array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等.有 ...