Puede usar find para recuperar todos los archivos de tipo enlace simbólico y agregar la -ilname
opción de buscar por nombre del destino del enlace. Esto funciona igual que -iname
para el nombre de destino del enlace en lugar del nombre del enlace.
find -type l -ilname "*bar*"
Eso todavía imprimirá el nombre del enlace, no el objetivo. Si desea imprimir los nombres de los objetivos, intente esto:
find -type l -ilname "*bar*" -printf "%l\n"
U obtener una ls
salida de estilo completo
find -type l -ilname "*bar*" -ls
Lo que quiere decir con " hacer algo con la lista " no está claro, pero si desea operar en los archivos de enlace, puede usar el -exec
argumento para encontrar:
find -type l -ilname "*bar*" -exec touch {} \;
Pero si necesita operar en los objetivos del enlace, deberá usar el -printf
para obtener los valores objetivo y luego xargs
o algún bucle para operar. Podrías hacer algo como esto:
find -type l -printf "%l\n" | grep bar | xargs touch
... que también muestra cómo usar en grep
lugar de find -ilname
hacer coincidir su nombre, aunque podría hacerlo de cualquier manera.
find /dev/disk/ -type l -ilname "*sde*"
no funciona?