xargs使用之空格处理】的更多相关文章

xargs指定分隔符为'\n' (默认用空格分隔) locate xxx | xargs -d '\n' ls -l xargs使用 -0 参数会以字符串的'\0'结尾为分隔符,可以在文本传给xargs把'\n'替换为'\0' locate xxx |tr '\n' '\0' | xargs -0 ls -l 如果使用find命令,可以使用find的-print0参数以'\0'作为每个结果的结束符 find ./ -name xx* -print0|xargs -0 ls -l https://…
注意xargs会被空格割裂,所以遇到带有空格的文件名就不好办了,解决方法是使用-print0 例如:删除.目录下30天之前的.png文件 -type f -name rm 或者使用-exec:删除.目录下最近30天的.png文件 -type f -name "*.png" -exec rm {} \; 注意{}与\;有空格…
简介 xargs可以将输入内容(通常通过命令行管道传递),转成后续命令的参数,通常用途有: 命令组合:尤其是一些命令不支持管道输入,比如ls. 避免参数过长:xargs可以通过-nx来将参数分组,避免参数过长. 使用语法如下 Usage: xargs [OPTION]... COMMAND INITIAL-ARGS... Run COMMAND with arguments INITIAL-ARGS and more arguments read from input. 入门例子 首先,创建测试…
处理带有空格的文件名 #我们创建了3个日志文件, 且故意让文件名称中都含有空格 [roc@roclinux ~]$ ;i<;i++)); do touch "test ${i}.log";done #我们列出创建的文件 [roc@roclinux ~]$ ls -1F test .log test .log test .log xargs 提供了-0选项,允许将 NULL 作为分隔符,而 find 命令也心有灵犀地提供了对应的选项来产生以 NULL 字符作为分隔符的输出. fin…
转自阮一峰 http://www.ruanyifeng.com/blog/2019/08/xargs-tutorial.html 仅供个人交流学习 xargs是 Unix 系统的一个很有用的命令,但是常常被忽视,很多人不了解它的用法. 本文介绍如何使用这个命令. 一.标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数. $ cat /etc/passwd | grep root 上面的代码使用了管道命令(|).管道命令的作用,是将左侧命令(…
本文要为大家介绍的命令是 xargs,我们把它称为护花使者,因为它总是乐于协助其他的命令来完成一些事情.下面一起来看看它是如何护花的. xargs 是 execute arguments 的缩写,它的作用是从标准输入中读取内容,并将此内容传递给它要协助的命令,并作为那个命令的参数来执行. 坊间有一种说法,将 xargs 解读为乘号(x)和参数(args)的合体,很形象地表达了 xargs 的作用所在. 好了,我们一起来见识一下 xargs 的护花本领吧: 我们用ls命令列出当前路径下的文件, 包…
xargs 命令也是管道命令中的一员.xargs命令的功能简单来说就是参数代换.那么什么叫做参数代换,这里首先要了解管道的概念.在 linux管道 命令一节中我们详细介绍了管道命令的概念.这里我们只是简单进行一下说明.首先我们来看一下管道命令的流程图 也就是管道前面的命令的输出作为后面命令的标准输入.既然是标准输入,所以这里就有一个要求是后面的命令可以在标准输入中读取数据.这个条件还是比较苛刻的,在linux中并不是所有的命令都可以在标准输入设备中读取数据的,能读取的命令数量不多,除了在前面介绍…
200 ? "200px" : this.width)!important;} --> 介绍 uniq命令是一个文本去重命令,它能对标准输入和文本文件进行去重操作,并且能将结果通过stdout输出,uniq命令经常会同sort命令一起使用,uniq命令默认对多条重复的行只显示一行. 参数 -c, --count 在每行记录前显示该行内容的数量 -d, --repeated 仅显示重复的记录行,并且去重 -D, --all-repeated[=delimit-method] 仅显示…
yum的安装对于linux来说,是一个福音,至少安装软件来说,非常非常方便,以前使用rpm安装,那个各种依赖,哎,说多了都是泪,现在有这个yum就方便多了. 此处记录redhad的安装.其实我也是借鉴别人的,网上很多资料.redhad的版本为6.0,以后很多东西的安装都需要这个,所以... RedHat Linux系统通常默认安装了yum,但是使用yum安装的时候经常出现nothing to do. 原因: 红帽的 yum 在线更新是收费的,而且必须注册系统之后才能使用. 故,经常需要重新安装y…
.巧用bash的{}扩展备份目录: cp file.txt{,.bak} .利用at执行一次性命令: echo "ls -l" | at midnight #Execute a command at a given time .kill - 或者 kill -HUP 一般用来重新读取配置文件:(一般程序自己实现的) HUP 其实就是给个信号,你的程序可以根据这个信号做一些事情,比如reload进程,或者是rotota日志.例如 squid.Nginx.xinetd. kill就是发送一…
特殊变量 $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2.$# 传递给脚本或函数的参数个数.$* 传递给脚本或函数的所有参数.$@ 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到.$? 上个命令的退出状态,或函数的返回值.$$ 当前Shell进程ID.对于 Shell 脚本,就是这些脚本所在的进程ID. 条件 = 等于 应用于:整型或字符串比较 如果在[] 中,只能是字…
cat,script,find, xargs, tr, tmp文件,字符串截取,批量文件重命名,固定大小文件,自动化交互 1. cat的用法 压缩连续的空白行 cat -s file 也可以用tr,将连续'\n',压缩成一个'\n' cat file | tr -s '\n' 显示制表符 cat -T file 显示行号 cat -n file 2. script命令 录制: script -t 2> time.log out.session type commands; exit退出录制 回放…
一,需求为查询文件名为ZRSH开头的时间为7月至今的所有文件并打包 1.首先想到的就是find + xargs + cp  格式.. find 2016073* -type f  -name *ZRSH\*   |xargs  cp {} ./data/ 执行之后发现说查询出来的文件不是目录,很讶异,于是直接执行find 2016073* -type f  -name *ZRSH\*    文件都查询出来没有任何问题.. 2.猜测是cp 的时候有意想不到的问题发生.于是直接cp测试报文.发现文件…
转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/5925923.html 学习这个xargs花了很长时间,在网上翻了很久也查了很多书关于xargs的介绍,都只是简单的介绍了它的几个用法,却没有介绍它工作的原理,man也只有简单的介绍,并没有说各个选项之间配合时的情况.所以我只能自己探索了,探索的路上确实充满了荆棘,不断的总结却不断的被实验推翻,每当以为自己得出了结论,却往往发现不够完善,所以我自己也是边测试边删改完成这篇学习记录,但是不得不说这过程充满了…
xargs 命令可以将一个命令的输出,作为另一个命令的输入! 这里听来好像是管道的功能,之所以有xargs是因为有的命令不知吃管道,这时xargs就派上用场了! 具体的方法是:前一个命令的输出会使用空格进行隔开,得到多个参数,作为后面的命令的输入.…
xargs大 多数 Linux 命令都会产生输出:文件列表.字符串列表等.但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件.ascii 文本等):你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记.xargs 命令就是用来完成此项工作的.他允许你对输出执行其他某些命令.记住下面这个来自于第 1 部分中的语法:例1: file -Lz * | grep ASCII | cut -d":" -…
200 ? "200px" : this.width)!important;} --> 介绍 我们可以利用管道将一个命令的“标准输出”作为另一个命令的“标准输入”:但是这里的标准输出都是数据流,但是某些命令的输入只接收参数命令不接收数据流,那么这种一般的方法就无法实现,这里就需要借助xargs命令.xargs可以将数据流转换成命令参数作为标准输入的参数,接下来就来详细了解xargs的用法. 多行转换 [root@localhost test]# cat test 在当前的test…
前言 最近我从svn上checkout出来了一个文件夹,然后加入了git的跟踪目录.用过svn的同学可能知道,这个文件夹里面每一层级都有个.svn隐藏文件夹,需要删除他们.本来我准备笨拙地一个一个手动删除的,一位同事在我面前敲了大概是$find . -type d -name "*.svn" | xargs rm -rf这样的命令,顿时觉得很高端大气上档次.刚好新学了Markdown,就顺便整理下xargs的用法,练练手.参考网址,当然更主要的参考来自于伟大的$man xargs. 1…
xargs命令 常用工具命令 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行.xargs的默认命令是echo,空格是默认定界符.这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代.xargs是构建单行命令的重要组件之一. xarg…
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 . -…
xargs的作用一般等同于大多数Unix shell中的反引号,但更加灵活易用,并可以正确处理输入中有空格等特殊字符的情况.对于经常产生大量输出的命令如find.locate和grep来说非常有用.…
1.简介 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. 2. 选项解释 -0  以'\0'为字符串的定界符,输出字符串.(eg 1) -a file 从文件中读入作为sdtin,并打…
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…
去掉Xcode源码末尾的空格 在用 Xcode 开发的时候,很容易就在行末增加一些空格了.这些空格在上传到 review board 上后 , 就会被特别的颜色显示出来.因为一种好的编程风格是说 , 不应该在行末增加不必要的空格.如果是用 eclipse 写 java, 那么这种时候选中写好的代码,按 ctrl+shift+F 即可调整源码的风格 , 将尾部的空格去掉.可惜在 Xcode 中并没有提供相应的功能. 不过我们可以用命令行来达到这一效果 , 在工程目录下输入: find . -nam…
转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.由此 这个命令也是后置引用的一个强有力的替换.在一般使用过多参数的命令替换失败的时候,用xargs来替换它一般都能成功.通常情况下,xargs从管道或 者stdin中读取数…
find 命令的一般形式为 find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录. -print find命令将匹配的文件输出到标准输出. -exec find命令对匹配的文件执行该参数所给出的s h e l l命令.相应命令的形式为' c o m m -and' {} \;,注意{ }和\:之间的空格. -ok 和- e x e c的作用相同,…
解释 [root@localhost ~]# rpm -qa|grep findfindutils-4.4.2-6.el6.x86_64 find 路径 测试 动作 三个步骤的处理过程查找一个或多个目录树,根据指定的测试条件,查找符合特定标准的文件,执行指定的动作三种路径 find /bin . ~ find path -options [ -print ] [ -exec -ok command ] {} \; 占位符机制,这种机制中的占位符是“{}”. 样例缺省情况下,find会从指定的目录…
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. 想查所有日志中包含”error“的日志并打印, 显然:find -name "*.log"| grep "error…
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据.xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代. xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子. 1.…
-r  no-run-if-empty xargs大多数 Linux 命令都会产生输出:文件列表.字符串列表等.但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件.ascii 文本等):你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记.xargs 命令就是用来完成此项工作的.他允许你对输出执行其他某些命令.记住下面这个来自于第 1 部分中的语法:例1:file -Lz * | grep ASCII…