J'ai un répertoire par exemple /var/tmp/my-dir/
Que je compresse fréquemment avec la commande suivante:
$ cd /var/tmp/
$ tar -zcf my-dir.tar.gz my-dir/*
Plus tard, lorsque je décompose mon-dir.tar.gz , cela crée my-dir/
Dans le répertoire courant. Il semble que le répertoire my-dir
Soit "enveloppé" à l'intérieur de l'archive tar. Existe-t-il une option tar pour renommer my-dir
Par exemple your-dir
avant le goudronnage réel se produit. Pour que ...
$ tar -zxf my-dir.tar.gz
# So that ... this creates your-dir/, instead of my-dir/
Merci.
Quel tar
?
GNU Tar accepte un --transform
argument, auquel vous donnez une expression sed
pour manipuler les noms de fichiers.
Par exemple, pour renommer pendant le déballage:
tar -zxf my-dir.tar.gz --transform s/my-dir/your-dir/
Le tar BSD et le tar S ont de même un -s
argument, prenant un simple /old/new/
(pas une expression générale sed
).
Pour Mac fonctionne -s
drapeau.
Renommer lors de la compression:
tar -zcf my-dir.tar.gz -s /^my-dir/your-dir/ my-dir/*
Renommer sur extrait:
tar -zxf my-dir.tar.gz -s /^my-dir/your-dir/