GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exclure les chemins absolus pour tar ?

Pour moi, ce qui suit fonctionne le mieux :

tar xvf some.tar --transform 's?.*/??g'

--transform L'argument est une regex de remplacement pour sed, à laquelle chaque chemin de fichier extrait est envoyé. Contrairement à --strip-components , il supprimera toutes les informations de chemin, pas seulement le nombre fixe de composants.


Si vous souhaitez supprimer les n premiers composants du nom de fichier, vous avez besoin de strip-components . Donc dans votre cas, à l'extraction, faites

tar xvf tarname.tar --strip-components=2

La page de manuel contient une liste de tar de nombreuses options, y compris celle-ci. Certaines versions antérieures de tar utilisez --strip-path pour cette opération à la place.


Vous utilisez incorrectement le -C switch, qui est utilisé pour changer de répertoire. Donc, ce que vous devez faire, c'est :

tar -cf tarname.tar -C /www/path path/file1.txt path2/path3/file2.xls

ou si vous voulez tout regrouper sous /www/path faire :

tar -cf tarname.tar -C /www/path .

Vous pouvez utiliser -C changer plusieurs fois.


Linux
  1. [Linux] :Comment exclure un répertoire lors de l'utilisation de la commande shell "tar"

  2. Chemins absolus / canoniques / relatifs ?

  3. Comment compresser un répertoire sous Linux

  4. Comment exclure un référentiel spécifique pour la mise à jour Yum dans CentOS / Red Hat

  5. Comment exclure un répertoire dans find . commande

Comment extraire (décompresser) le fichier Tar Gz

Comment extraire (décompresser) le fichier tar.xz

Comment créer un fichier Tar Gz

Comment puis-je échapper aux espaces dans les chemins pour Scp sous Linux ?

Comment créer un fichier Tar gz

10 exemples d'exclusion Yum pour ignorer les packages pour la mise à jour Linux Yum (Comment exclure les mises à jour du noyau Yum)