GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überprüfen Sie die Festplattennutzung von Dateien, die mit Leerzeichen zurückgegeben werden

Was wäre, wenn wir find die Dateinamen behandeln lassen würden?

find . -maxdepth 1 -iname '*syed*' -exec du -ch {} +

Wie wäre es damit?:

find . -maxdepth 1 -iname '*syed*' -print0 | xargs -0 du -ch

Erläuterung der Optionen:

  • find – Was Sie zum Suchen von Dateien verwendet haben
    • -print0 – Teilen Sie jedes Ergebnis mit einem Nullzeichen, das ein Zeichen ist, das nicht in einem Dateinamen vorkommen kann
  • xargs – Setzt Argumente zu einem Befehl zusammen, der von der Standardeingabe (stdin)
      geleitet wird
    • -0 – Erhalte jedes Argument getrennt durch ein Nullzeichen
    • du -ch – Der Befehl, an den Sie Dateiargumente übergeben möchten

Warum Ihr vorgeschlagener sed Fluchtweg funktioniert nicht, der \ Zeichen, die Sie hinzufügen möchten, werden nach dem Trennzeichen des Shell-Arguments eingefügt (" ") Escaping hat bereits stattgefunden. Jedes durch Leerzeichen getrennte Wort ist bereits ein Argument.

Meine Lösung mit xargs stellt sicher, dass jedes Argument ein Pfad von find ist , unabhängig von Leerzeichen.


Linux
  1. Dateien finden und taren (mit Leerzeichen)

  2. Iterieren Sie über eine Liste von Dateien mit Leerzeichen

  3. Alle Grafikdateien mit find auflisten?

  4. Suchen Sie rekursiv nach Dateien mit einer bestimmten Erweiterung

  5. Dateien mit gesetzten ACLs finden

So überprüfen Sie die Speicherplatznutzung in Linux

Linux-Suchbefehl mit praktischen Beispielen

Finden Sie verlorene Dateien mit Scalpel

So finden Sie Dateien mit dem fd-Befehl in Linux

So überprüfen Sie die Speicherplatznutzung mit dem Ncdu-Dienstprogramm

Tutorial für Linux-Suchbefehle (mit Beispielen)