Puoi usare find per recuperare tutti i file di tipo symlink e aggiungere l' -ilnameopzione per cercare per nome della destinazione del link. Funziona esattamente come -inameper il nome di destinazione del collegamento anziché per il nome del collegamento.
find -type l -ilname "*bar*"
Che stamperà comunque il nome del collegamento, non la destinazione. Se si desidera stampare i nomi delle destinazioni, provare questo:
find -type l -ilname "*bar*" -printf "%l\n"
O ottieni un lsoutput completo
find -type l -ilname "*bar*" -ls
Cosa intendi con " fai qualcosa con la lista " non è chiaro, ma se volessi operare sui file dei link, potresti usare l' -execargomento per trovare:
find -type l -ilname "*bar*" -exec touch {} \;
Ma se devi operare sui target dei link, dovrai usare i -printfper ottenere i valori target e poi xargso alcuni loop per operare. Potresti fare qualcosa del genere:
find -type l -printf "%l\n" | grep bar | xargs touch
... che dimostra anche come usare grepinvece di find -ilnamefare la corrispondenza del tuo nome, anche se potresti farlo in entrambi i modi.