Astuce shell : lister les liens symboliques
Voici une astuce qui permet d'obtenir la liste des liens symboliques contenus dans un répertoire ...
ls -F | grep @$ | awk -F@ '{print $1}'
J'ai cherché pendant pas mal de temps comment obtenir une telle liste, en utilisant les options de ls, la commande grep ou encore la commande find.
Je n'ai jamais réussi et le seul moyen est d'utiliser le langage awk (merci à Matthieu au passage pour avoir trouvé la solution en si peu de temps).
12 Commentaires pour "Astuce shell : lister les liens symboliques"
Flux des commentaires de cet article Ajouter un commentaireEt l'option type de find ?
find . -type l
A+
Le problème de la commande find est quelle donne les liens symboliques des sous répertoire.
Or moi je ne voulais que les liens symboliques du répertoire courrant.
"Je n'ais jamais réussis" < << hum ... "Je n'ai jamais réussi" à faire autant de fautes en si peu de mots. Tu me le copieras 100 fois ce soir avant d'aller au lit
C'est bon c'est corrigé !
Bravo je decouvre ton blog, tres beau, et plein de bonne chose.
J'ai une question, dans la meme ligné, comment faire pour compter le nombre de fichiers réels contenus dans le repertoire courant?
Euh je dirait un truc comme çà :
Super, ca marche et on dirait même qu'avec
ls -Rl | grep ^- | wc -l
ca marche en recursif.
Vraiment merci, ca fait un moment que je la cherchais.
Master Pti-seb, que le BASH soit avec toi !!
ls --file-type|grep @
On a bien la liste des liens, mais avec le @ à la fin.
Si le problème de find est d'afficher aussi les liens des sous dossiers, il existe une option pour préciser la profondeur de recherche (-maxdepth) :
Et sinon :
Testé sur une SLES
ls -ltra |grep ^l
@zapple : ls --file-type|grep @$
avec un $ derrière @ pour éviter ce @ en milieu de nom et donc pas un lien
genre dans profil Firefox
dnssec@nic.cz/