De plus si vous partagez vos fichiers sur le réseau, cela économise votre bande passante et votre temps. Il m'arrive d'attendre quelques secondes le chargement d'un répertoires (essayez donc d'aller dans le répertoire /usr/bin avec un navigateur de fichier, même en local c'est du lourd :p )
Ici tout les répertoires des initiales sont en majuscules, car comme vous devez le savoir les Unix* distinguent la casse des noms. Cela grâce à la commande tr qui permet de remplacer une chaine de caractères par une autre. Par exemple pour renommer des fichiers en minuscule il suffit de taper:
for i in *
do mv "$i" "$(echo $i | tr A-Z a-z)"
done
Pour créer les répertoires :
for i in *
do I=`echo $i|cut -c 1|tr a-z A-Z`
if [ ! -d "$I" ]
then mkdir "$I"
fi
done
Nota Bene : on utilise ici if pour vérifier si le répertoire existe déjà.
Pour creer les répertoires et y déplacer les fichiers (ou dossiers) :
for i in *
do I=`echo $i|cut -c 1|tr a-z A-Z`
if [ ! -d "$I" ]
then mkdir "$I"
fi
mv "$i" "$I"/"$i"
done
Vous pouvez faire cette commande après un cp -rs et qui copie l'arborescence mais en remplaçant le contenu (tout ce qui est fichier) par des liens symboliques.
Pour créer un répertoire triant alphabétiquement, uniquement les liens des dossiers (ou fichiers) :
for i in Path/To/Chaos/*
do I=`echo $i|cut -c 1|tr a-z A-Z`
if [ ! -d /Path/To/Alpha/"$I" ]
then mkdir /Path/To/Alpha/"$I"
fi
ln -s "$PWD"/"$i" /Path/To/Alpha/"$i"
done
Il faut noter que ces liens peuvent être cassés si vous y accéder par un point de montage différent que son chemin depuis sa racine.
Aucun commentaire:
Enregistrer un commentaire