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. Spring入门_03_构造注入

    实体类 Student.java package com.umgsai.spring.entity; import java.util.Date; public class Student { pri ...

  2. Struts2源码浅析-ConfigurationProvider

    ConfigurationProvider接口 主要完成struts配置文件 加载 注册过程 ConfigurationProvider接口定义 public interface Configurat ...

  3. JMX整理

    阅读目录 Standard MBean与MXBean的区别 实现 Notification 认证与授权 JConsole Custom Client What and Why JMX JMX的全称为J ...

  4. 密码学初级教程(六)数字签名 Digital Signature

    密码学家工具箱中的6个重要的工具: 对称密码 公钥密码 单向散列函数 消息认证码 数字签名 伪随机数生成器 提问: 有了消息认证码为什么还要有数字签名? 因为消息认证码无法防止否认.消息认证码可以识别 ...

  5. 工具介绍 - VSCommands

    VSCommands 一个Visual Studio的轻量级扩展工具 地址:http://vscommands.squaredinfinity.com/home 1.可以设置自动隐藏显示主菜单栏,设置 ...

  6. 点击自动显示/隐藏DIV代码。(简单实用)

    注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 很多时候我们需要将DIV的信息默认为隐藏状态,只有当用户点击时才显示DIV中包含的提示文字.这类效果在互联网上应用得很多,但实现的方 ...

  7. 【转】(笔记)CANopen协议【CANFestival】移植方法

    一.背景 CAN组网就必须得要应用层协议,原因就在于 * 便于网络管理与控制 * 确认数据的收发 * 发送大于8个字节的数据块(CAN每帧数据传输大小为8字节) * 为不同节点分配不同的报文标识符 * ...

  8. gulp常用插件

    本人就职于一家互联网小公司,根据自己的项目纪录一下常用的gulp插件,项目不是很大! 文章目录 1. gulp-load-plugins 2. yargs 3. del 4. gulp-filter ...

  9. 实现百度IFE2015Spring的任务Task3的几个问题和解决办法

    1.如何实现页面的宽高自适应浏览器的变化,且有一个最小宽和高 <head> <meta charset = "utf-8"> <title>个人 ...

  10. 使用text存储hash类型的数据 Use text filed to store the hash map

    在component表里用text类型的字段存储hash数据 (1)新建字段 ,这是migration的内容 class AddHintsToComponents < ActiveRecord: ...