GNU/Linux >> Linux Esercitazione >  >> Linux

Controlla l'utilizzo del disco dei file restituiti con spazi

Cosa succede se lasciamo che find gestisca i nomi dei file?

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

Che ne dici di questo?:

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

Spiegazione delle opzioni:

  • find – Cosa stavi usando per trovare i file
    • -print0 – Dividi ogni risultato con un carattere nullo, che è un carattere che non può comparire in un nome file
  • xargs – Assembla gli argomenti di un comando reindirizzato dall'input standard (stdin)
    • -0 – Ricevi ogni argomento diviso da un carattere null
    • du -ch – Il comando a cui vuoi passare gli argomenti del file

Per quanto riguarda il motivo per cui hai proposto sed modo di scappare non funziona, il \ i caratteri che stai tentando di aggiungere vengono inseriti dopo il delimitatore di argomento della shell (" ") l'escape è già avvenuto. Ogni parola, delimitata da spazio, è già un argomento.

La mia soluzione con xargs assicura che ogni argomento sia un percorso da find , indipendentemente dagli spazi.


Linux
  1. Utilizzo del comando trova Linux:utilizzo con esempi

  2. Trova tutti i file con nome contenente una stringa

  3. Trova in modo ricorsivo i file con un'estensione specifica

  4. Rimozione di file con rm utilizzando find e xargs

  5. trova i file con gli ACL impostati

Come controllare l'utilizzo dello spazio su disco in Linux

Comando Trova Linux con esempi pratici

Trova i file persi con Scalpel

Come trovare file con il comando fd in Linux

Come controllare l'utilizzo dello spazio su disco con l'utilità Ncdu

Tutorial comando trova Linux (con esempi)