如何将一个命令的o / p给shell脚本中另一个命令的参数?

时间:2013-07-24 17:33:17

标签: linux shell terminal

我已经编译了Linux内核,我想将所有* .ko文件复制到一个单独的文件夹中

所以

find ./kernel -name "*.ko" 

它将为我提供所有.ko文件的列表。 现在我想把这个列表作为cp命令的参数。

cp -rpf $filer_ko temp/

那么如何在shell脚本和终端上执行此操作?

4 个答案:

答案 0 :(得分:1)

这将找到以.ko结尾的所有文件,并将该列表传递到循环中,该循环遍历每个文件(即使它们有空格 - 虽然这可能不是这种情况)并且将复制每个文件temp目录中的文件。

find ./kernel -name "*.ko" | while read file; do cp $file temp/ ; done

答案 1 :(得分:0)

根据我的想法,下面的代码应该满足您的需求。我只是干了一圈。 将结果存储在variable中,然后looping以逐个提取数据

#! /bin/bash
$op = find ./kernel -name *.ko"

for zf in $op
do
    cp -rpf $zf
    tail $zf
done

答案 2 :(得分:0)

xargs通常用于此目的。但不是在这里。

请参阅find内置此功能

试试这个:

find ./kernel -name "*.ko" -exec cp -rpf {} temp/ \;

答案 3 :(得分:0)

另一种方法:使用xargs

find ./kernel -name "*.ko"  -print0 | xargs -0 cp -rpf -t temp/