Ich habe eine Liste von Dateien, die ich überprüfen möchte, ob sie in meinem Dateisystem vorhanden sind. Ich dachte daran, dies findwie folgt zu tun :
for f in $(cat file_list); do
find . -name $f > /dev/null || print $f
done
(using zsh), aber das funktioniert nicht, da findes zu beenden scheint, 0ob es die Datei findet oder nicht. Ich glaube , ich es durch eine andere Prüfung bestehen , die zu sehen , ob testet findjede Ausgabe (roh , aber effektiv wäre das zu ersetzen , produziert > /dev/nullmit |grep '') , aber das fühlt sich an wie ein Troll mit einer Ziege (andere Nationalitäten sagen etwas über Vorschlaghämmern und Walnüsse könnte fangen ).
Gibt es eine Möglichkeit find, mich zu einem nützlichen Exit-Wert zu zwingen ? Oder zumindest, um eine Liste der Dateien zu erhalten, die nicht gefunden wurden? (Ich kann mir vorstellen, dass Letzteres durch eine raffinierte Auswahl logischer Verknüpfungen vielleicht einfacher ist, aber ich scheine immer in Knoten verwickelt zu sein, wenn ich versuche, es herauszufinden.)
Hintergrund / Motivation: Ich habe eine "Master" -Sicherung und möchte überprüfen, ob einige Dateien auf meinem lokalen Computer auf meiner Master-Sicherung vorhanden sind, bevor ich sie lösche (um etwas Speicherplatz zu schaffen). Also machte ich eine Liste der Dateien, sshbearbeitete sie auf dem Master-Computer und war dann ratlos, den besten Weg zu finden, um die fehlenden Dateien zu finden.
locatezeigt nicht den aktuellen Status des Dateisystems an, es kann ein Tag oder sogar eine Woche alt sein. Dies eignet sich als Basis zum Testen von Backups.
locate.