[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