[Linux-bruxelles] liens symboliques au lieu de cp
Louis Lambeau
louislambeau at gmail.com
Sam 22 Oct 21:06:48 CEST 2005
J'ai déjà ça mais comme j'ai dit je suis pas un pro de shell donc il
existe surement plus beau
CURRENT=`pwd`
for FILE in *; do
if test -f "$FILE";
then
EXT=${FILE##*.}
if test -d $EXT; then
ln -s "$CURRENT/$FILE" $EXT
else
mkdir $EXT
ln -s "$CURRENT/$FILE" $EXT
fi
fi
done
J'aimes pas vraiment cette utilisation que je fais de CURRENT pour avoir
le répertoire courant, je pense qu'on peux faire autrement. De même : le
if avec deux fois la création du lien symbolique peux sans doute etre
évitée par un elif ou autre. Ca marche c déja ça. Meme avec des noms
avec espaces et doubles extensions (sait on jamais).
Louis
On sam, 2005-10-22 at 20:21 +0200, Aldo wrote:
> On Sat, Oct 22, 2005 at 04:41:38PM +0200, Louis Lambeau wrote:
> > Yop,
> >
> > moi j'utilises souvent celui ci : (mais il trie selon le type mime avec
> > sous dossiers... exemple : audio/mpeg/)
> >
> > for i in *; do
> > dir="$(file -b -i "$i")"
> > mkdir -p "$dir"
> > mv "$i" "$dir"
> > done
> >
> > je ne sais pas si ca t'aides...
> >
>
> ça peut déjà aider,
> sauf que si je lis bien, ton script fais un cp là où moi je veux le
> contraire, à savoir un répertoire de liens (ln) pour que tu aies un
> répertoire unique, fun/ par exemple, contenant tout type de fichiers,
> mais l'impression d'avoir les mp3 dans mp3/, les oggs dans ogg/ etc,
> lorsque tu va dans ces répertoires, mais donc ce seraient des liens
> symboliques;
> toi tu copies;
> ceci dit c fait très intelligement, pas mal.
>
> Aldo.
>
> PS: je ne suis ni débutant ni guru, je suis end-user, (c. ta questio
> ndans ton prochain mail).
>
>
Plus d'informations sur la liste de diffusion Linux-bruxelles