J'ai un répertoire qui contient plus de mille images. Je souhaite diviser les fichiers en plusieurs sous-répertoires, chacun contenant 100 fichiers. Comment puis-je faire cela?
J'ai un répertoire qui contient plus de mille images. Je souhaite diviser les fichiers en plusieurs sous-répertoires, chacun contenant 100 fichiers. Comment puis-je faire cela?
Réponses:
ce qui suit a bien fonctionné pour moi. Ouvrez le répertoire dans le terminal, et copiez et collez simplement le script suivant, appuyez sur Entrée. des sous-répertoires seront créés à l'intérieur avec les noms dir_001, dir_002 et ainsi de suite.
i=0;
for f in *;
do
d=dir_$(printf %03d $((i/100+1)));
mkdir -p $d;
mv "$f" $d;
let i++;
done
Cela vous demandera combien de répertoires vous voulez et le préfixe du sous-répertoire. La commande ls n'est qu'un rappel du nombre de fichiers dont vous disposez.
ls -1 | wc -l
read -p 'How Many Directories: ' F;
read -p 'Sub-Directories Prefix: ' S;
PARRENT=${PWD}
# cd $PARRENT
n=0
for i in *
do
if [ $((n+=1)) -gt $F ]; then
n=1
fi
todir=$PARRENT/"$S"_$n
[ -d "$todir" ] || mkdir "$todir"
mv "$i" "$todir"
done