cerhu > linux.debian.user.french

Jérémy Prego (18/05/2019, 09h20)
Bonjour,

Je viens avec une petite question de NOOB sur tar ce matin. J'aimerai
faire quelque chose qui me parait simple en théorie mais ça me semble
plus compliqué en pratique.

en fait, j'aimerai archiver un dossier mais en excluant un sous dossier
mais seulement dans la racine. je m'explique

Pour l'exemple, le dossier s'appel toto. Dans toto il y a plein de sous
dossier dont un qui s'appel download. mais, il y a aussi un sous dossier
s'appelant archive, et qui contient aussi un dossier download.

Je précise que quand je fais mon tar, je suis dans ce dossier "toto".

à force de recherche, j'ai bien trouvé une commande tar qui me
conviendrait, mais seul souci, l'archive comporte un premier dossier "."
tar --exclude='./download' -zcpvf test.tar.gz .

j'ai bien essayé de remplacer le point de la fin par un * et d'adapter
mon exclude en conséquence, mais j'ai pas réussi a obtenir le résultat
voulu...

du coup, j'aimerai mixer les deux. À savoir, avoir directement mes
dossier a l'ouverture de l'archive, et ne pas avoir le contenu du
premier dossier download.

merci pour l'aide,

Jerem
Raphaël POITEVIN (18/05/2019, 10h10)
Jérémy Prego <jeremy> writes:
> tar --exclude='./download' -zcpvf test.tar.gz .
> j'ai bien essayé de remplacer le point de la fin par un * et d'adapter
> mon exclude en conséquence, mais j'ai pas réussi a obtenir le résultat
> voulu...
> du coup, j'aimerai mixer les deux. À savoir, avoir directement mes
> dossier a l'ouverture de l'archive, et ne pas avoir le contenu du
> premier dossier download.


Et si tu fais :
tar --exclude='./download' -zcpvf test.tar.gz $(ls)

Pas testé, juste une suggestion.
Jérémy Prego (18/05/2019, 10h20)
Le 18/05/2019 à 10:05, Cyrille Bollu a écrit :
> ?Comprend pas: c?est quoi le problème avec ta commande? Elle n?exclut pas le 1er dossier download, c?est ça?


le souci avec ma commande, c'est qu'à la création de l'archive, ça crée
un premier dossier "." donc je dois ouvrir ce dossier pour voir mes
fichiers.
[..]
Cyrille Bollu (18/05/2019, 10h30)
?Comprend pas: c?est quoi le problème avec ta commande?Elle n?exclut pas le 1er dossier download, c?est ça?
[..]
Jean-Michel OLTRA (18/05/2019, 11h40)
Bonjour,

Le samedi 18 mai 2019, Jérémy Prego a écrit...

> le souci avec ma commande, c'est qu'à la création de l'archive, ça crée
> un premier dossier "." donc je dois ouvrir ce dossier pour voir mes
> fichiers.


Essaie en étant dans le répertoire au dessus de toto, puis :

tar -xzf toto.tar.gz -C toto --exclude ./downloads
tar -tvzf toto.tar.gz
mkdir tata
cd tata
tar -xzf ../toto.tar.gz
Jérémy Prego (19/05/2019, 00h30)
Le 18/05/2019 à 11:38, Jean-Michel OLTRA a écrit :
> Bonjour,
> tar -xzf toto.tar.gz -C toto --exclude ./downloads
> tar -tvzf toto.tar.gz
> mkdir tata
> cd tata
> tar -xzf ../toto.tar.gz


> hmmm, donc ça veut dire qu'on peut pas éviter ce "." a la création de l'archive directement ? c'est quand même embêtant ... en tout cas, merci pour vos réponses jusqu'ici.


Jerem
Jean-Michel OLTRA (19/05/2019, 06h50)
Bonjour,

Le dimanche 19 mai 2019, Jérémy Prego a écrit...

> hmmm, donc ça veut dire qu'on peut pas éviter ce "." a la création de
> l'archive directement ? c'est quand même embêtant ... en tout cas, merci
> pour vos réponses jusqu'ici.


Quel "." ? Celui que tu vois lorsque tu fais le `tar -tv` ?
En quoi est ce embêtant ? Lorsque tu décompresses l'archive, tout ce fait
correctement, non ?
Cyrille Bollu (19/05/2019, 13h20)
Ben ?.? C?est le dossier courant, celui dans lequel tu te trouves. Il existe toujours.

?.? C?est le dossier courant.

?..? c?est le dossier supérieur.

C?est du standard (POSIX je crois)

Cyrille
[..]
Benoit B (19/05/2019, 22h40)
Bonjour,

Voici ma proposition nocturne ! ;)

tar --exclude='./download' -zcpvf test.tar.gz !(.)

Chez moi la sortie affiche :
archive/
archive/download/
download/
titi/

Et pas :
../
../archive/
../archive/download/
../titi/

C'est bien ça que tu veux ?

Bonne nuit,

Benoit

Le sam. 18 mai 2019 à 09:18, Jérémy Prego <jeremy> a écrit :
[..]
Benoit B (19/05/2019, 23h00)
Oups je voulais écrire

tar -zcpvf test.tar.gz !(download)
Qui archivera :
archive/
archive/download/
titi/

et exclu le download du répertoire courent avec !()

Le sam. 18 mai 2019 à 09:18, Jérémy Prego <jeremy> a écrit :
[..]
Benoit B (19/05/2019, 23h10)
Pour les détails d'exclusion, voir man bash :
If the extglob shell option is enabled using the shopt builtin, several
extended pattern matching operators are recognized. In the following
description, a pattern-list is a list of one or more patterns separated
by a |. Composite patterns may be formed using one or more of the fol?
lowing sub-patterns:

?(pattern-list)
Matches zero or one occurrence of the given patterns
*(pattern-list)
Matches zero or more occurrences of the given patterns
+(pattern-list)
Matches one or more occurrences of the given patterns
@(pattern-list)
Matches one of the given patterns
!(pattern-list)
Matches anything except one of the given patterns

Par exemple si tu veux exclure download et titi
tar -zcpvf test.tar.gz !(download|titi)

Bonne nuit,

Le dim. 19 mai 2019 à 22:50, Benoit B <benoitlst> a écrit :
[..]
Discussions similaires
déplacer fichier photos du dossier d' origine vers un sous-dossier

Creation dossier et sous dossier - partage et permission xcacl.vbs

Exclure un dossier de la publication

Informe un dossier parent lors de l'arrivée d'un message dans un sous-dossier


Fuseau horaire GMT +2. Il est actuellement 09h30. | Privacy Policy