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.