xargs

来源:互联网 发布:高阶矩阵求逆 编辑:程序博客网 时间:2024/05/16 06:46

管道是把一个命令的输出传递给另一个命令作为输入,比如:
command1 | command2
    但是command2仅仅把command1输出的内容作为输入参数。
    find . -name "install.log" -print打印出的是install.log这个字符串,如果仅仅使用管道,那么command2能够使用的仅仅是install.log这个字符串,不能把它当作文件来进行处理。xargs就是为了能够对find搜索到的文件进行操作而编写的,它能把管道传来的字符串当作文件交给其后的命令执行。
举个例子:
(1)$find . -name "install.log" -print | cat
./install.log   #显示从管道传来的内容,仅仅作为字符串来处理
(2)$find . -name "install.log" -print | xargs cat
aaaaaa        #将管道传来的内容作为文件,交给cat执行。也就是说,该命令执行的是如果存在install.log,那么就打印出这个文件的内容。

   通过这个例子,应该很容易理解这样有什么不同了。当你要对匹配文件操作时,使用find and xargs,其实这都是运用了管道。xargs是shell命令的一个,可以把管道输入的内容转化为其参数要操作的文件。

0 0
原创粉丝点击