Comment utiliser la commande «find» avec «xargs» pour paralléliser les opérations de fichiers dans Linux

Comment utiliser la commande «find» avec «xargs» pour paralléliser les opérations de fichiers dans Linux

Le "trouver" La commande dans Linux est un outil puissant pour rechercher des fichiers en fonction de divers critères. Lorsqu'il est utilisé en combinaison avec la commande «xargs», la commande «Find» peut être encore plus efficace, vous permettant de paralléliser les opérations de fichiers et de traiter de nombreux fichiers à la fois. Dans cet article, nous discuterons de la façon de maximiser l'efficacité en utilisant «Find» avec «xargs» pour paralléliser les opérations de fichiers.

Qu'est-ce que «xargs»?

"Xargs" est un utilitaire de ligne de commande qui lit les éléments de la saisie standard et exécute une commande pour chaque élément. Il est utile pour traiter un grand nombre d'éléments, tels que les fichiers, en parallèle. La commande «xargs» prend une liste d'éléments et les transmet comme arguments à une commande spécifiée, vous permettant d'effectuer des opérations sur de nombreux éléments à la fois.

Comment utiliser «trouver» avec «xargs»

La commande «Find» peut être utilisée pour rechercher des fichiers en fonction de divers critères, tels que le nom, le type, la taille et l'horodatage. Lorsqu'il est utilisé en combinaison avec «xargs», la commande «Find» peut être utilisée pour traiter de nombreux fichiers en parallèle, ce qui rend les opérations de fichiers beaucoup plus efficaces.

Exemples de «trouver» avec «xargs»

Voici quelques exemples de commande de recherche avec xargs dans le terminal Linux.

  1. Supprimer les fichiers de plus de 7 jours:
  2. Voici un exemple de la façon d'utiliser «Rechercher» avec «xargs» pour supprimer tous les fichiers de plus de 7 jours dans le répertoire actuel:

    Remarque: Comme pour toute opération de fichier, il est important d'être prudent lors de l'utilisation de «trouver» avec «xargs» pour supprimer les fichiers. Assurez-vous de prévisualiser les fichiers à supprimer et d'avoir une sauvegarde des fichiers avant de les supprimer.
    trouver . -Tapez f -mtime +7 | xargs rm  

    Dans cet exemple, la commande «Find» est utilisée pour rechercher des fichiers dans le répertoire actuel (spécifié par le «.«Argument) qui dure plus de 7 jours (spécifié par l'argument« -mtime +7 »). La sortie de la commande «Find» est conduite à la commande «xargs», qui prend la liste des fichiers et les transmet comme arguments à la commande «RM», qui supprime les fichiers.

  3. Trouver et compresser des fichiers supérieurs à 100 Mo:
  4. trouver . -Type F-Size + 100m | xargs gzip  

    Dans cet exemple, la commande «Find» est utilisée pour rechercher des fichiers dans le répertoire actuel qui sont supérieurs à 100 Mo. La sortie de la commande «Find» est conduite à «xargs», qui passe la liste des fichiers comme arguments à la commande «gzip», qui compresse les fichiers.

  5. Trouvez et supprimez les répertoires vides:
  6. trouver . -Type D -Empty | xargs rmdir  

    Dans cet exemple, la commande «Find» est utilisée pour rechercher des répertoires vides dans le répertoire actuel. La sortie de la commande «Find» est conduite à «xargs», qui passe la liste des répertoires comme arguments à la commande «RMDIR», qui supprime les répertoires.

  7. Trouver et modifier les autorisations de tous .Fichiers SH:
  8. trouver . -Tapez f -name "*.sh "| xargs chmod 755  

    Dans cet exemple, la commande «Find» est utilisée pour rechercher tous .Fichiers Sh dans le répertoire actuel. La sortie de la commande «Find» est tuée sur «xargs», qui passe la liste de .Les fichiers SH comme arguments à la commande "chmod", qui modifie les autorisations des fichiers en 755.

  9. Trouver et renommer tout .fichiers txt à .BAK:
  10. trouver . -Tapez f -name "*.txt "| xargs -i  mv  .bak  

    Dans cet exemple, la commande «Find» est utilisée pour rechercher tous .Fichiers TXT dans le répertoire actuel. La sortie de la commande «Find» est tuée sur «xargs», qui passe la liste de .Les fichiers txt comme arguments à la commande «MV», qui renonce aux fichiers à .bak. L'argument «-i » est utilisé pour spécifier un espace réservé pour l'élément d'entrée.

Ce ne sont que quelques exemples de la façon dont vous pouvez utiliser la commande «Find» avec «xargs» pour effectuer des opérations de fichiers dans Linux. En utilisant «Find» avec «xargs», vous pouvez maximiser l'efficacité et gagner du temps lorsque vous effectuez des opérations de fichiers dans Linux.

Conclusion

La commande «Find» dans Linux est un outil puissant pour rechercher des fichiers en fonction de divers critères. Lorsqu'il est utilisé en combinaison avec la commande «xargs», la commande «Find» peut être encore plus efficace, vous permettant de paralléliser les opérations de fichiers et de traiter de nombreux fichiers à la fois. En utilisant «Find» avec «xargs», vous pouvez maximiser l'efficacité et gagner du temps lorsque vous effectuez des opérations de fichiers dans Linux.