2016-04-07 14 views
0

からのファイルの移動Xの割合:私が達成したい何Linuxのbashの - 私は、次のフォルダ構造を持っている各フォルダ

maindir 
|-sub1 
|-sub2 
|-sub... 
|-sub1000 

は、各サブディレクトリなどから移動することです。各フォルダは、同じ構造を持つ新しいフォルダmaindir2に含まれるファイルの10%:

maindir2 
|-sub1 
|-sub2 
|-sub... 
|-sub1000 

MAINDIRからサブディレクトリに仮定すると、ファイルの次の量である(ブレスレットの数字):

maindir 
|-sub1 (10) 
|-sub2 (100) 
|-sub... 
|-sub1000 (50) 

私はmaindir2に以下の出力として持っていたいと思います:

maindir 
|-sub1 (1) 
|-sub2 (10) 
|-sub... 
|-sub1000 (5) 

とMAINDIRで:

maindir 
|-sub1 (99) 
|-sub2 (90) 
|-sub... 
|-sub1000 (45) 

可能であれば、bashコマンドを使用して可能であることをお知らせください。

答えて

1

はい、それは可能です。)

それは醜い(1行)が、仕事、MAINDIRの内側から 実行し、それを:

find . -type f -exec dirname {} + | uniq -c | while read n d;do echo "Directory:$d Files:$n Moving first:$(($n/10))";mkdir -p ../maindir2${d:1};find $d -type f | head -n $(($n/10)) | while read file;do mv $file ../maindir2${d:1}/;done;done 

よろしく、

+0

はありがとうございました!それはまさに私が探していたものです。魅力のように働く! – domi771

関連する問題