Befehl:
find /path/to/folder -type l | (while read broken; do test -e "$broken" || ls -ld "$broken"; done) |
Uebersetzung:
Suche mir alle Dateien vom Typ „Link“ im Verzeichnis /path/to/folder inkl. allen Unterverzeichnissen und gib mir den kompletten Pfad zu den Links aus. Die Ausgabe wird in eine WHILE-Schleife gepipt die diese zeilenweise einliest. Fuer jede Zeile wird einmal getestet ob die Datei existiert. Wenn die Datei existiert isses dufte, wenn nicht gib den defekten Link aus.
Schöner einzeiler.
kurze Anmerkung, wenn ich mich nicht Irre starten die Klammern wohl eine Sub-Shell, womit verhindert wird dass auf das Ende des find Befehls gewartet wird (welcher ja durchaus etwas Zeit in Anspruch nehmen kann wenn komplettes / durchgeforstet wird) bevor mit der Abarbeitung der Schleife begonnen wird.