Lütfen alternatif cevabı okuduğunuzdan emin olun . Bu noktada çok yüksek oylar almamasına rağmen, konuya daha da fazlası geliyor.
Tüm sembolik bağlantıları silmek için bunu kullanabilirsiniz:
find -type l -delete
Modern find
versiyonları ile.
Daha eski sürümlerde bu olması gerekebilir:
find -type l -exec rm {} \;
# or
find -type l -exec unlink {} \;
Belirli bir bağlantı hedefiyle sınırlandırmak için, yollardan hiçbirinin herhangi bir yeni satır karakteri içermediğini varsayarak
find -type l | while IFS= read -r lnkname; do if [ "$(readlink '$lnkname')" == "/your/exact/path" ]; then rm -- "$lnkname"; fi; done
veya güzel biçimlendirilmiş
find -type l |
while IFS= read -r lnkname;
do
if [ "$(readlink '$lnkname')" = "/your/exact/path" ];
then
rm -- "$lnkname"
fi
done
if
Tabii ki, aynı zamanda, bir desen eşleştirme gibi daha kompleks bir durum dahil olabilir grep
.
Davanıza uyarlanmış:
find -type l | while IFS= read -r lnk; do if (readlink "$lnk" | grep -q '^/usr/local/texlive/'); then rm "$lnk"; fi; done
veya güzel biçimlendirilmiş:
find -type l | while IFS= read -r lnk
do
if readlink "$lnk" | grep -q '^/usr/local/texlive/'
then
rm "$lnk"
fi
done