xargs -i 和-I 的区别【转】】的更多相关文章

今天刚好遇到需要使用xargs的情况,就来研究一下xargs 和 管道符的区别 举几个例子,下面两个语句执行后的结果是什么呢? 1. zhang$ find . -name "*.properties" | more --将当前目录下以properties结尾的文件名及路径给more,出来的是文件列表的名称 2. zhang$ find . -name "*.properties" | xargs more --将当前目录下以properties结尾的文件给more…
作者:ilexwg链接:https://www.zhihu.com/question/27452459/answer/170834758来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 管道和xargs不是一回事 -1- 管道只是将前面的标准输出作为后面的标准输入,而不能将前面的标准输出作为后面的命令参数: -2- xargs能够将前面的标准输出作为后面的命令参数 ===== 给你举个例子 ===== 文本文件china.txt的内容如下 [root@elephan…
xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如  # find . -type f -name "*.log" | xargs rm -rf * 就将以log结尾的文件删除了,如果我想去移动或者复制就需要使用参数来代替了.   xargs  -i 参数或者-I参数配合{}即可进行文件的操作.   -I replace-str               Replace  occurrences  of  replace-str  in the ini…
xargs与find经常结合来进行文件操作,平时删日志的时候只是习惯的去删除,比如  # find . -type f -name "*.log" | xargs rm -rf * 就将以log结尾的文件删除了,如果我想去移动或者复制就需要使用参数来代替了.   xargs  -i 参数或者-I参数配合{}即可进行文件的操作.   -I replace-str              Replace  occurrences  of  replace-str  in the init…
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2017年8月24日 如何快速安装perl模块? 第121天 2017年8月23日 如果在mysql命令行临时开启自动补全? 第120天 2017年8月22日 如何统计脚本执行的时间? 第119天 2017年8月21日 用kvm创建的虚拟机,如何开机实现自启动? 第118天 第二十四周 2017年8月…
01-   Linux初步 最早一直是单道程序设计模型的操作系统 69年贝尔实验室决定开发多道程序设计模型的操作系统 Multics计划 (失败了) x86 IA(Intel Architecture) 架构 没法搭建Unix系统 但是Unix家族分支中有Solaris提供了Solaris for x86 Ubuntu: 4月通常为稳定版 10月通常为beta测试版 单数版本官方一般是短期支持 (支持一年 例: 13.10版 13 是短期支持版 10是测试版 02-根目录下重要子目录 打开终端…
一直弄不懂,管道不就是把前一个命令的结果作为参数给下一个命令吗,那在 | 后面加不加xargs有什么区别 NewUserFF 写道: 懒蜗牛Gentoo 写道: 管道是实现"将前面的标准输出作为后面的标准输入" xargs是实现"将标准输出作为命令的参数" 你可以试试运行: 代码: echo "--help"|cat echo "--help"|xargs cat 看看结果的不同. 试过了,依然不是很确定的明白到底是什么意思,…
前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 "-exec" 尤其实用.而 "xargs" 命令,针对查询也有属于自己的见解.本文着重讲解的是围绕 find 命令查询为主线,使用 -exec 参数(find 命令) 或使用 xargs 命令. 将当前 "标准输出" (数据流) 作为另一个命令的 "标准输入" .简单来说,将 find 查询出的命令做更多处理. 一.预备教程, "find"…
实地在shell里执行下如下命令就知道区别了: $ find -type f -exec echo {} \; 很明显,exec是对每个找到的文件执行一次命令.从这里可以看出exec的缺点是每处理一个文件/目录,都要启动一次命令,效率不好; 格式麻烦,必须用 {} 做文件的代位符,必须用 "\;" 作为命令的结束符,书写不便.   $ find -type f | xargs echo xargs是把所有找到的文件名一股脑的转给命令.当文件很多时,这些文件名组合成的命令行参数很容易超长…
区别描述: 两者都是对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令. -exec:{}表示命令的参数即为所找到的文件,以:表示comman命令的结束.\是转义符,因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思. -ok: 和 -exec 的作用相同,格式也一样,只不过以一种更为安全的模式来执行该参数所给出的shell给出的这个命令之前,都会给出提示,让用户来确定是否执行. xargs 要结合管道来完成格式:find [option]…
默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此我们看到的 find 的输出都是一行一行的: [bash-4.1.5] ; ls -l total 0 -rw-r--r-- 1 root root 0 2010-08-02 18:09 file1.log -rw-r--r-- 1 root root 0 2010-08-02 18:09 file2.log [bash-4.1.5] ; find -name '*.log' ./file2.log ./…
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子: echo 'main' | cat test.cpp 这种情况下cat会输出test.cpp的内容,而不是'main'…
find的exec及ok命令 exec命令的格式为: exec command {} \; exec后面跟着的是操作命令,然后跟着{}表示每一个参数,然后空格,然后"\;".{}之后一定要跟一个空格,exec命令以:作为结束,为了表名:只是一个结束符,使用转义字符\加在:前面. ok命令和exec作用相同,唯一的区别在于ok是exec命令的安全模式,在执行command之前会给出提示. xargs命令 xargs命令需要结合管道符|使用,其格式为:** | xargs command…
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子: 1 echo 'main' | cat test.cpp 这种情况下cat会输出test.cpp的内容,而不是'mai…
xargs命令详解,xargs与管道的区别 https://www.cnblogs.com/wangqiguo/p/6464234.html 之前一直说要学习一下 xargs 到现在为止也没学习.. 里面的参数 -d -n -E 感觉很多东西都是需要熟练应用的. 阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容…
为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子: echo 'main' | cat test.cpp 这种情况下cat会输出test.cpp的内容,而不是'main'…
阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子:…
一直弄不懂,管道不就是把前一个命令的结果作为参数给下一个命令吗,那在 | 后面加不加xargs有什么区别NewUserFF 写道:懒蜗牛Gentoo 写道:管道是实现“将前面的标准输出作为后面的标准输入”xargs是实现“将标准输入作为命令的参数” 你可以试试运行: 代码:echo "--help"|catecho "--help"|xargs cat 看看结果的不同. 试过了,依然不是很确定的明白到底是什么意思,自己再探索一下看看把 如果你直接在命令行输入cat而…
一直弄不懂,管道不就是把前一个命令的结果作为参数给下一个命令吗,那在 | 后面加不加xargs有什么区别 NewUserFF 写道: 懒蜗牛Gentoo 写道: 管道是实现“将前面的标准输出作为后面的标准输入” xargs是实现“将标准输入作为命令的参数” 你可以试试运行: 代码: echo "--help"|cat echo "--help"|xargs cat 看看结果的不同. 试过了,依然不是很确定的明白到底是什么意思,自己再探索一下看看把 如果你直接在命令行…
1.概念 管道:将前一个命令的标准输出作为下一个命令的标准输入. xargs:将标准输入传递给下一个命令,作为其参数.(和管道连用)2.区别 2.区别 1:ls|cat是将ls的结果作为一个文件file,然后cat file 2:ls|xargs cat 是将ls的结果作为一个参数传递给cat,即cat test…
一直弄不懂,管道不就是把前一个命令的结果作为参数给下一个命令吗,那在 | 后面加不加xargs有什么区别 NewUserFF 写道:懒蜗牛Gentoo 写道:管道是实现“将前面的标准输出作为后面的标准输入”xargs是实现“将标准输入作为命令的参数” 你可以试试运行: 代码:echo "--help"|catecho "--help"|xargs cat 看看结果的不同. 试过了,依然不是很确定的明白到底是什么意思,自己再探索一下看看把 如果你直接在命令行输入cat…
在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子: 1 echo 'main' | cat test.cpp 这种情况下cat会输出test.cpp的内容,而不是'main'字符串,如果test.cpp不…
1. 简介 之所以能用到这个命令,关键是由于很多命令不支 持|管道来传递参数,而日常工作中有有这个必要, 所以就有了xargs命令,例如:find /sbin -perm +700 |ls -l 这个命令是 错误的find /sbin -perm +700 |xargs ls -l 这样才是 正确的xargs 可以读入 stdin 的资料,并且以空白字元或 断行字元作为分辨,将 stdin 的资料分隔成为 arguments . 因为是以空白字元作为分隔,所以, 如果有一些档名或者是其他意义的名…
先看一个例子: find ./ -print | xargs grep a 输出: grep: ./: 是一个目录 ./less:abc ./afile:abcde ./afile:AaAbBcB ./afile:ab ./haha:abc ./cfile:abcqw find ./ -print | grep a 输出: ./afile ./haha 区别:管道命令是将前面命令的输出作为后面命令的标准输入 ->所以第二条命令输出了在 所有文件名中包含a的文件名 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 . -…
1.find默认查找当前目录和子目录,通过maxdepth限制只查当前目录: find . -maxdepth 1 -type f -name "*.php" 2. find . -name "*.txt" -exec rm {} \; find . -name "*.txt" | xargs rm {} -exec     1.参数是一个一个传递的,传递一个参数执行一次rm     2.文件名有空格等特殊字符也能处理 -xargs      1…
管道将前面的标准输出作为后面的标准输入,xargs则将标准输入作为命令的参数 一.简介 1.背景 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l       这个命令是错误的 find /sbin -perm +700 |xargs ls -l   这样才是正确的 xargs 可以读入 stdin 的资料,并且以空白字符或换行字符作为分割符,将 stdin 的输入…
一.直观感受 echo '--help' | cat echo的输出通过管道定向到cat的输入, 然后cat从其标准输入中读取待处理的文本内容, 输出结果: --help echo '--help' | xargs cat 等价于 cat --help,  xargs将其接受的字符串 --help 变成cat的参数来运行, 输出结果: Usage: cat [OPTION]... [FILE]... Concatenate FILE(s), or standard input, to stand…
-exec:  对符合条件的文件执行所给的Linux 命令,执行exec后面的shell脚本.脚本中,{}表示命令的参数即为所找到的文件,以:表示comman命令的结束.\是转义符,因为分号在命令中还有它用途,所以就用一个\来限定表示这是一个分号而不是表示其它意思.   -ok: 和-exec的作用相同,格式也一样,只不过以一种更为安全的模式来执行该参数所给出的shell脚本.对于被执行脚本的对象,系统都会给出提示,让用户来确定是否执行.   xargs 要结合管道来完成 格式:find [op…
find . -name "*.txt" -exec rm {} \;find . -name "*.txt" | xargs rm {} -exec    1.参数是一个一个传递的,传递一个参数执行一次rm    2.文件名有空格等特殊字符也能处理-xargs     1.一次将参数传给命令,可以使用-n控制参数个数    2.处理特殊文件名需要采用如下方式:    find . -name "*.txt" print0 |xargs -0 r…