Retourner aux forums || Retourner au forum Linux.general
Linux.general : Chercher les liens symboliques brisés
Posté par Ju Hash (page perso, ) le 11 mai 2007J'ai un dossier utilisateur rempli de liens symboliques brisés. Je sais chercher les liens symboliques avec find, mais comment tester s'il sont valides ou non ? (pour les supprimer ensuite)
Merci d'avance pour vos lumières
> Lire le message (6 commentaires, moyenne: 2).
readlink
Utilise le résultat de readlink -e il t'indiquera sir le lien est cassé ou non.
Liens symboliques brisés
Bonjour,
Il y a un bon exemple de script bash pour tester si des liens symboliques sont brisés.
http://abs.traduc.org/abs-4.2.01-fr/ch07s02.html
ls
ls, c'est quand même un super couteau suisse :)
cf l'option -L
$ ls -l
total 4
drwxrwxr-x 2 gab gab 4096 May 11 2007 dir
-rw-rw-r-- 1 gab gab 0 May 11 2007 file
lrwxrwxrwx 1 gab gab 4 May 11 2007 lien_casse -> yapa
lrwxrwxrwx 1 gab gab 4 May 11 2007 lien_dir -> dir/
lrwxrwxrwx 1 gab gab 4 May 11 2007 lien_file -> file
$ ls -L lien_file >/dev/null 2>&1
$ echo $?
0
$ ls -L lien_dir >/dev/null 2>&1
$ echo $?
0
$ ls -L lien_casse >/dev/null 2>&1
$ echo $?
2
zsh
echo *(@^e:'[ -e $REPLY ]':)
liste les liens que tu veux (et en replaçant echo par rm, tu peux les effacer).
Explication :
@ signifie qu'on se restreint aux liens
^ qu'on nie la suite
e: que l'on exécute ce qui suit, soit test si le fichier existe bien.
Je suppose qu'il y a plus court, sans appel à test, mais je ne vois pas.
-
[^]Re: zsh
Posté par Xavier Maillard (Jabber id, page perso, ) le 13/05/2007 à 16:18. (lien). Évalué à 3.Comme quoi, Perl est pas si compliqué à lire :)
merci à tout le monde
Merci pour vos réponses !
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.