我已经编译了Linux内核,我想将所有* .ko文件复制到一个单独的文件夹中
所以
find ./kernel -name "*.ko"
它将为我提供所有.ko文件的列表。 现在我想把这个列表作为cp命令的参数。
像
cp -rpf $filer_ko temp/
那么如何在shell脚本和终端上执行此操作?
答案 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/