GNU/Linux >> Tutoriels Linux >  >> Linux

Vérifier l'utilisation du disque des fichiers renvoyés avec des espaces

Et si nous laissions find gérer les noms de fichiers ?

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

Et ça ? :

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

Explication des options :

  • find – Ce que vous utilisiez pour trouver des fichiers
    • -print0 – Divisez chaque résultat avec un caractère nul, qui est un caractère qui ne peut pas apparaître dans un nom de fichier
  • xargs – Assemble les arguments d'une commande canalisée depuis l'entrée standard (stdin)
    • -0 – Recevoir chaque argument divisé par un caractère nul
    • du -ch – La commande à laquelle vous souhaitez passer les arguments du fichier

Quant à savoir pourquoi votre sed proposé le moyen de s'échapper ne fonctionne pas, le \ les caractères que vous essayez d'ajouter sont placés après le délimiteur d'argument du shell (" ") l'échappement a déjà eu lieu. Chaque mot, délimité par un espace, est déjà un argument.

Ma solution avec xargs garantit que chaque argument est un chemin de find , sans tenir compte des espaces.


Linux
  1. Vérifiez l'espace disque utilisé sur Linux avec du

  2. Utilisation de la commande Linux find – Utilisation avec des exemples

  3. Trouver tous les fichiers dont le nom contient une chaîne

  4. Suppression de fichiers avec rm en utilisant find et xargs

  5. trouver des fichiers avec des listes de contrôle d'accès définies

Comment vérifier l'utilisation de l'espace disque sous Linux

Commande de recherche Linux avec des exemples pratiques

Retrouver les fichiers perdus avec Scalpel

Comment rechercher des fichiers avec la commande fd sous Linux

Comment vérifier l'utilisation de l'espace disque avec l'utilitaire Ncdu

Tutoriel sur la commande de recherche Linux (avec exemples)