Puoi usare find per recuperare tutti i file di tipo symlink e aggiungere l' -ilname
opzione per cercare per nome della destinazione del link. Funziona esattamente come -iname
per 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 ls
output 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' -exec
argomento per trovare:
find -type l -ilname "*bar*" -exec touch {} \;
Ma se devi operare sui target dei link, dovrai usare i -printf
per ottenere i valori target e poi xargs
o alcuni loop per operare. Potresti fare qualcosa del genere:
find -type l -printf "%l\n" | grep bar | xargs touch
... che dimostra anche come usare grep
invece di find -ilname
fare la corrispondenza del tuo nome, anche se potresti farlo in entrambi i modi.