Anda dapat menggunakan find untuk mengambil semua file bertipe symlink dan menambahkan -ilname
opsi untuk mencari berdasarkan nama tujuan tautan. Ini berfungsi seperti -iname
tetapi untuk nama target tautan alih-alih nama tautan.
find -type l -ilname "*bar*"
Itu masih akan mencetak nama tautan, bukan target. Jika Anda ingin mencetak nama target, coba ini:
find -type l -ilname "*bar*" -printf "%l\n"
Atau dapatkan ls
output gaya penuh
find -type l -ilname "*bar*" -ls
Apa yang Anda maksud dengan " melakukan sesuatu dengan daftar " tidak jelas, tetapi jika Anda ingin beroperasi pada file tautan, Anda dapat menggunakan -exec
argumen untuk menemukan:
find -type l -ilname "*bar*" -exec touch {} \;
Tetapi jika Anda perlu beroperasi pada target tautan, Anda harus menggunakan -printf
untuk mendapatkan nilai target dan kemudian xargs
atau beberapa loop sendiri untuk beroperasi. Anda dapat melakukan sesuatu seperti ini:
find -type l -printf "%l\n" | grep bar | xargs touch
... yang juga menunjukkan cara menggunakan grep
alih-alih find -ilname
melakukan pencocokan nama Anda, meskipun Anda juga bisa melakukannya.