GNU/Linux >> Tutoriels Linux >  >> Linux

Trouvez des fichiers et tarez-les (avec des espaces)

Il pourrait y avoir un autre moyen d'obtenir ce que vous voulez. En gros,

  1. Utilisez rechercher commande pour afficher le chemin vers les fichiers que vous recherchez. Rediriger stdout à un nom de fichier de votre choix.
  2. Puis tar avec l'option -T qui lui permet de prendre une liste d'emplacements de fichiers (celui que vous venez de créer avec find !)

    find . -name "*.whatever" > yourListOfFiles
    tar -cvf yourfile.tar -T yourListOfFiles
    

Utilisez ceci :

find . -type f -print0 | tar -czvf backup.tar.gz --null -T -

Cela va :

  • traite les fichiers avec des espaces, des retours à la ligne, des tirets et d'autres éléments amusants
  • gérer un nombre illimité de fichiers
  • n'écrasera pas à plusieurs reprises votre backup.tar.gz comme si vous utilisiez tar -c avec xargs fera quand vous avez un grand nombre de fichiers

Voir aussi :

  • Manuel GNU tar
  • Comment puis-je créer un tar à partir de stdin ?, recherchez null

Linux
  1. Comment trouver des fichiers volumineux Linux avec les commandes find et du

  2. Rechercher et copier des fichiers

  3. rechercher et supprimer des fichiers avec de l'espace à l'aide de la commande find sous Linux

  4. Itérer sur une liste de fichiers avec des espaces

  5. Trouver plusieurs fichiers et les renommer sous Linux

Comment télécharger et extraire des fichiers tar avec une seule commande

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

Retrouver les fichiers perdus avec Scalpel

Comment trouver des fichiers en double sous Linux et les supprimer

Trouvez facilement des fichiers et des répertoires sur Linux

Comment renommer tous les fichiers avec des caractères spéciaux et des espaces dans un répertoire ?