Comment extraire des tar.bz2 dans le répertoire du fichier ?

Bonjour,
J’ai plein de répertoires (nommés “feuille-xxx”) qui contiennent chacun un fichier nommé feuille-xxx.tar.bz2.
J’ai besoin d’extraire chaque fichier dans le répertoire (car il ne contient que des fichiers et pas d’arborescence) où il se situe et malheureusement je ne parviens pas à faire cela.

J’ai essayé sans succès les commandes suivantes:
find /tmp -exec tar xvjf {} ; Décompresse tous les tar.bz2 dans le répertoire /tmp

find /tmp -exec tar xvjf {} -C {} ; Me renvoie “ne peut read: Is a directory”

find /tmp -name “feuille*” -type d -exec tar xvf {}/.tar.bz2 -C {} ; me renvoie tar: /tmp/com-002/feuille-002000ZE01/.tar.bz2: ne peut open: No such file or directory
tar: Erreur non récupérable: fin de l’exécution immédiate

Comment peut-on faire ?
Merci par avance

et avec cela:

[quote=“Mathiou”],
find /tmp -name “feuill*tar.bz2” -exec tar xvjf {} ; Décompresse tous les tar.bz2 dans le répertoire /tmp

find /tmp -name “feuill*tar.bz2” -exec tar xvjf {} -C {} ; Me renvoie “ne peut read: Is a directory”

[/quote]

Je confirme: tous les fichiers sont décompréssés dans le répertoire /tmp. Et comme les fichiers tar.bz2 ne contiennent pas de répertoires ni d’arborescence, tous les fichiers sont en vrac dans /tmp

Me renvoie l’erreur suivante:
tar: /tmp/com-002/feuille-002000ZE01/feuille-002000ZE01.tar.bz2: ne peut chdir: Not a directory
tar: Erreur non récupérable: fin de l’exécution immédiate

Ce qu’il faudrait, c’est pouvoir extraire le chemin depuis le nom de fichier renvoyé par find mais je ne sais pas comment faire…

si tu te places d’abord sur le dossier qui contient le .tar et que tu décompresses à partir de là, ça ne colle pas :question:

Bonsoir,
C’est pas (encore) la solution mais peut être une piste : l’action -execdir.

[quote]pascal@poste02 ~/essai $ find . -name “.txt" -execdir echo {} ;
./machin.txt
./machin.txt
pascal@poste02 ~/essai $ find . -name "
.txt” -exec echo {} ;
./machin.txt
./originaux/machin.txt[/quote]

Elle exécute l’action dans le répertoire ou elle trouve le fichier, alors que exec le fait depuis le répertoire où il est lancé.

MODIF :
Je viens d’essayer ceci et ça a l’air de marcher comme tu le souhaites :

pascal@poste02 ~/essai $ find . -name "*.tar.bz2" -execdir tar xvjf '{}' \; machin.txt machin.txt

:smt006 Merci pour la réponse, ça fonctionne parfaitement !
Je n’avais pas vu dans les manpages de find la commande -execdir qui est parfaitement adaptée à mon cas.