我在这很困惑需要一些澄清。
示例1:
pgrep string | xargs ps
示例2:
find . | xargs grep whatever
从示例1,我收集是这样的:
搜索一个“string”,它是运行进程名称的一部分,并将所有匹配的process-id返回到’xargs ps’ – >它只是将ps添加到匹配(这是进程ID本身)以获得与以下相同的输出:
ps <processid>
有人可以在这种情况下解释xargs真正做什么吗?
从示例2,我收集是这样的:
它是从当前工作目录中递归搜索一些“string”。
在这里,’xargs’究竟如何工作?
我认为“xargs”将数据从标准输入重复附加到给定xargs的“参数”(通常是UNIX命令本身)。
从xargs()手册页:
xargs reads items from the standard input,delimited by blanks (which can be
protected with double or single quotes or a backslash) or newlines,and
executes the command (default is /bin/echo) one or more times with any
initial-arguments followed by items read from standard input. Blank lines
on the standard input are ignored.