一尘不染

如何将命令输出作为多个参数传递给另一个命令

linux

我想将命令的每个输出作为多个参数传递给第二个命令,例如:

grep "pattern" input

返回:

file1
file2
file3

我想复制这些输出,例如:

cp file1  file1.bac
cp file2  file2.bac
cp file3  file3.bac

我该怎么做呢?就像是:

grep "pattern" input | cp $1  $1.bac

阅读 265

收藏
2020-06-02

共1个答案

一尘不染

您可以使用xargs

grep 'pattern' input | xargs -I% cp "%" "%.bac"
2020-06-02