2012-02-17 1 views
0

パラメータとして新しいフォルダに送信された一部のフォルダから、すべてのファイルを完全な権限でコピーする必要のある単純なbashスクリプトを作成しようとしています。すべての権限を持つファイルをBashで識別する

これは私がこれまで持っているものです。

for dir in [email protected] 
do 
find $dir -perm -exec cp{} newLocation \; 
done 

ここは知らコマンド-execではないと言います。私は何が欠けていますか?

+0

完全な権限を持つファイルを見つけたい(明確にしてください)か、すべての(つまり完全な)権限を持ってファイルをコピーしますか? –

答えて

2

-permには、アクセス許可のパラメータが必要です。ここで起こっていることは、findがその許可として-execを解釈しようとしていることです。

あなたはおそらく、あなたはおそらく

トライrsyncを見つけるよりも別の何か使いたい

find $dir -perm 777 -exec cp {} newLocation \; 
+0

ありがとうございます!この場合、コピー機能は間違っているようです。これは 'No such file or directory'というエラーです。 Sotry ..私は完全なnoobです。 – TGM

+1

いつでも-execの部分を削除して、どのファイルが見つかるか見ることができます。それらにスペースがあれば、cpは混乱するでしょう – vmpstr

0

の線に沿って何かをしたい:

rsync -av $dir newlocation/$dir 

やタール:

cd $dir; tar cf - . | (cd newlocation; tar xvf -) 

it c ouldはもちろん、もちろん見つけてやるが、なぜ車輪を再発明するのだろうか?

関連する問題