Shell 如何使用一个命令的结果多次调用另一个命令?

Shell 如何使用一个命令的结果多次调用另一个命令?,shell,Shell,我希望将命令A的多行结果导入命令B,对命令A输出的每一行调用命令B一次。与xargs类似,但具有多个调用。如果要对命令A输出的每一行运行命令B,请使用xargs和以下选项: A | xargs -n1 -d'\n' B 说明: -d'\n'告诉xargs一次只处理一行输入,而不是根据空格分割输入的默认行为 -n1告诉xargs将B作为单个参数为每行输入运行一次 您可以告诉xargs每个“字”执行一个命令。它将行拆分为单词,并将每个单词视为潜在的参数。如果这不起作用(行中有空格),则使用sh

我希望将命令A的多行结果导入命令B,对命令A输出的每一行调用命令B一次。与xargs类似,但具有多个调用。

如果要对命令A输出的每一行运行命令B,请使用
xargs
和以下选项:

A |  xargs -n1 -d'\n' B
说明:

  • -d'\n'
    告诉
    xargs
    一次只处理一行输入,而不是根据空格分割输入的默认行为

  • -n1
    告诉
    xargs
    B
    作为单个参数为每行输入运行一次


您可以告诉
xargs
每个“字”执行一个命令。它将行拆分为单词,并将每个单词视为潜在的参数。如果这不起作用(行中有空格),则使用shell循环:
…|读行时;执行命令B“$line”;完成
——或者编写您自己的代码(我称我的代码为“行上的xargs”)。谢谢!为什么这是一个评论?还有,我如何做到这一点:“您可以告诉xargs对每个‘单词’执行一个命令”很好——我还必须去掉空白。这是我的最后一个命令
git branch | grep-v master | tr-d”“|/opt/local/libexec/gnubin/xargs-n1-d'\n'git branch-d
(OS X xargs没有
-d
功能,所以我从macports安装了xargs)