#1 Le 18/10/2011, à 09:01
- Hibou57
[Tip] Si “tar --exclude” semble ne pas fonctionner
Je viens de me faire avoir, et la page man n’est pas claire à ce sujet. Si un des mainteneurs de la page man peut y ajouter des exemples, ça ne serait pas inutile.
Pour utiliser plusieurs patterns d’exclusion, il faut répéter plusieurs fois l’option “--exclude=pattern”. Si comme je le faisais vous faites
tar --exclude="dir1/*.e1;dir2/*.e2;…"
et que vous avez essayé avec tous les séparateurs imaginables et que aucune exclusion ne semble vouloir s’appliquer, essayer plutôt
tar --exclude="dir1/*.e1" --exclude="dir2/*.e2" …
Ça marche
Autre chose aussi. La pattern ne fonctionne pas ici comme avec l’expansion du shell. Si un pattern contient “*.*”, alors cela exclura même les fichiers dont le nom est du type “.nom-fichier”
Pour ça par contre, je n’ai pas trouvé de solution commode, sauf à lister explicitement toutes les extensions possible.
D’ailleurs, est‑il normal ou pas que “*.*” match “.nom-fichier” ici ? Une question à gratter peut‑être.
Dernière modification par Hibou57 (Le 18/10/2011, à 09:07)
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne
#2 Le 18/10/2011, à 09:20
- pingouinux
Re : [Tip] Si “tar --exclude” semble ne pas fonctionner
Bonjour,
Pour contourner le problème :
--exclude="dir1/?*.*"
Hors ligne
#3 Le 18/10/2011, à 10:51
- Hibou57
Re : [Tip] Si “tar --exclude” semble ne pas fonctionner
Je viens d’essayer, ça marche.
Mais comment as‑tu fais pour le savoir ?
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne
#4 Le 18/10/2011, à 11:09
- pingouinux
Re : [Tip] Si “tar --exclude” semble ne pas fonctionner
Dans l'expansion des noms de fichiers,
* correspond à zéro ou un nombre quelconque de caractères
? correspond à un et un seul caractère
Voir :
man bash # Rubrique "Pattern Matching"
Hors ligne
#5 Le 18/10/2011, à 12:27
- Hibou57
Re : [Tip] Si “tar --exclude” semble ne pas fonctionner
Je n’aurais pas deviné, parce que dans mon shell, “ls -a *.*” ne renvoie pas “.htaccess” par exemple, tandis que “ls -a .*” le renvoie.
Il faudra que je sois plus attentif à ces petits pièges à l’avenir, parce que inclure des fichiers non‑attendus, ou même réciproquement exclure des fichiers attendus, ce sont des accidents qu’il est préférable d’éviter.
Dernière modification par Hibou57 (Le 18/10/2011, à 12:28)
Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)
Hors ligne