Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver les liens symboliques ne pointant vers rien

5 réponses
Avatar
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

5 réponses

Avatar
Jean-Marc Bourguet
Jean-Marc Bourguet writes:

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
Avatar
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.
Avatar
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).

Avec le GNU find:

find . -xtype l

--
Stéphane
Avatar
Jean-Marc Bourguet
Stephane CHAZELAS writes:

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
Avatar
Stephane CHAZELAS
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