2013-07-24 17 views

回答

1

數據一個這將找到所有在.ko結尾的文件,將它放在一個循環列出管道將每一個文件的迭代(即使他們有空格 - 這可能不是這種情況),並將複製臨時目錄中的每個文件。

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

但是......但是......但是'find'的'-exec'標誌確實如此! – rabensky

0

根據我認爲下面的代碼應該滿足您的需要。我只是幹了一次。 。結果存儲在一個variable然後looping,以提取一個

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

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

這將不帶空格處理的文件名。 –

+0

爲什麼?這有什麼問題? – softvar

+0

如果有一個名爲'bla blue'的文件名,這個for循環就會遍歷它,首先將'bla'分配給'zf',然後將'blue'分配給'zf',從而導致失敗。 –

0

xargs通常用於此。但不在這裏。

見,find有這個能力內建

試試這個:

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

假設GNU工具,「find ./kernel -name」* .ko「-exec cp -rpf -t temp/{} +' –

0

另一種方法:使用xargs的

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