Was ist der Linux-Befehlszeilenbefehl, der solche Dateien identifizieren kann?
AFAIK der find
Befehl (oder grep
) kann nur übereinstimmen einer bestimmten Zeichenfolge in der Textdatei . Aber ich möchte den gesamten Inhalt abgleichen, dh ich möchte sehen, welche Dateien mit dem regulären Ausdruck übereinstimmen \0+
, wobei die Zeilenendezeichen ignoriert werden . Vielleicht könnte das find . cat | grep
Idiom funktionieren, aber ich weiß nicht, wie ich grep dazu bringen kann, Zeilen zu ignorieren (und die Datei als binär zu behandeln).
Hintergrund: Alle paar Tage, wenn mein Laptop einfriert, verliert meine btrfs-Partition Informationen: Zum Schreiben geöffnete Dateien werden durch Nullen ersetzt (die Größe der Datei bleibt mehr oder weniger intakt). Ich verwende die Synchronisation und möchte nicht, dass sich diese gefälschten Dateien verbreiten. Ich brauche eine Möglichkeit, sie zu identifizieren, damit ich sie aus dem Backup holen kann.
-v
Option für grep in Betracht gezogen : Filtern Sie alle Dateien mit den Bytes 1 bis 255 heraus.