Trouver les liens symboliques ne pointant vers rien

Le
Jean-Marc Bourguet
Je dois trouver les liens symboliques pointant vers nulle part. J'ai
rien vu d'immediat le permettant. Avant de sortir l'artillerie lourde et
de faire le programme qui va bien, je me permets de demander aux
specialistes qui trainent dans ces eaux.

(C'est a faire une fois et je peux dependre de particularites de GNU si ca
facilite la vie).

Merci

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Marc Bourguet
Le #16449271
Jean-Marc Bourguet
Je dois trouver les liens symboliques pointant vers nulle part. J'ai
rien vu d'immediat le permettant. Avant de sortir l'artillerie lourde et
de faire le programme qui va bien, je me permets de demander aux
specialistes qui trainent dans ces eaux.

(C'est a faire une fois et je peux dependre de particularites de GNU si ca
facilite la vie).



find . -type l -print | while read LINK ; do
if ! [ -e "$LINK" ] ; then
printf "%sn" "$LINK"
fi
done

a l'air de faire ce que je desire (je n'ai pas de fichiers avec des n
dedans).

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Nicolas George
Le #16449401
Jean-Marc Bourguet wrote in message
Je dois trouver les liens symboliques pointant vers nulle part. J'ai
rien vu d'immediat le permettant.



Avec zsh, *(@-@) fait ça. Ajouter **/ devant pour descendre dans les
répertoires.
Stephane CHAZELAS
Le #16450401
2008-07-31, 14:08(+00), Nicolas George:
Jean-Marc Bourguet wrote in message
Je dois trouver les liens symboliques pointant vers nulle part. J'ai
rien vu d'immediat le permettant.



Avec zsh, *(@-@) fait ça. Ajouter **/ devant pour descendre dans les
répertoires.



Ou encore: *(-@).

Note que ca ommet les fichiers cachés et **/ ne descend pas dans
les repertoires cachés. Utiliser *(D-@) si ce n'est pas ce qu'on
veut.

Sinon, on peut utiliser:

find -L . -type l

Mais attention, ca descend dans les symlinks vers les
repertoires (l'equivalent de ***/*(oND-@) en zsh).

Avec le GNU find:

find . -xtype l

--
Stéphane
Jean-Marc Bourguet
Le #16451701
Stephane CHAZELAS
2008-07-31, 14:08(+00), Nicolas George:
Jean-Marc Bourguet wrote in message
Je dois trouver les liens symboliques pointant vers nulle part. J'ai
rien vu d'immediat le permettant.



Avec zsh, *(@-@) fait ça. Ajouter **/ devant pour descendre dans les
répertoires.



Ou encore: *(-@).

Note que ca ommet les fichiers cachés et **/ ne descend pas dans
les repertoires cachés. Utiliser *(D-@) si ce n'est pas ce qu'on
veut.

Sinon, on peut utiliser:

find -L . -type l

Mais attention, ca descend dans les symlinks vers les
repertoires (l'equivalent de ***/*(oND-@) en zsh).



Ce que je ne voulais pas.

Avec le GNU find:

find . -xtype l



Ca ne trouve pas les liens symboliques pointant vers un lien symbolique
cela?

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Stephane CHAZELAS
Le #16451871
2008-07-31, 20:45(+02), Jean-Marc Bourguet:
[...]
Avec le GNU find:

find . -xtype l



Ca ne trouve pas les liens symboliques pointant vers un lien symbolique
cela?


[...]

Seulement si ces liens symboliques pointent vers un fichier
inexistant (ou un lien symbolique qui pointe vers un fichier
inexistant).

Note que par inexistant, on entend qu'on ne peut pas stat(2)er,
ce qui ne veut pas forcement dire qui n'existe pas.

--
Stéphane
Publicité
Poster une réponse
Anonyme