bash迭代配对数据

Pet*_*ete 1 bash loops

我有一个从bash脚本执行的程序

mydata=$(myprogram etc)

它提供这样的数据:

echo $mydata

foo1

bar1

foo2

bar2

...

foo_n

bar_n

我想迭代$mydata传递到另一个命令,如下所示:

another_command foo1 bar1

问题:如何用bash做到这一点?问题2:以另一种方式提供数据会大大简化事情吗?例如,如果数据看起来像这样:

foo1 bar1 foo2 bar2 ... foo_n bar_n

Dmi*_*rov 5

您可以使用该xargs命令

 echo $mydata | xargs -n 2 another_command
Run Code Online (Sandbox Code Playgroud)

例如:

 $ echo foo1 bar1 foo2 bar2 | xargs -n 2 echo PAIR
 PAIR foo1 bar1
 PAIR foo2 bar2
Run Code Online (Sandbox Code Playgroud)

xargs如果输入由空格或换行符分隔,则使用默认选项无关紧要