#!/bin/bashliste_rep=folder/*
echo"LISTE REP :"$liste_repfor rep in "$liste_rep"doecho"AFFICHE REP :"$repfor fichier in $liste_rep/*.tar.gz
do#- Tu peux utilisé cd avec dirname… cd $(dirname …)#- Non, soit tu fais : cd "$rep" les guillements c’est pour être robuste aux espaces.#ERROR cd $(liste_rep)cd"$rep"echo"FICHIER :"$fichier
tar -zxvf $fichier#- Ajouter un cd pour retourner dans le répertoire précédent.#- il faut lancer cd - ça revient au répertoire où tu étais précédemment.#ERROR cd /cd -
donedoneexit
Néanmoins on peut faire plus simple : (avec 2 boucles)
#!/bin/bashliste_rep=folder/*
for rep in "$liste_rep"docd"$rep"for fichier in *.tar.gz
do
tar -zxvf $fichierdonecd -
doneexit
Autre solution avec une seule boucle. On profite que bash sait étendre plusieurs *
#!/bin/bashfor fichier in folder/*/*.tar.gz
dorep=$( dirname "$fichier")cd"$rep"
tar -zxvf $fichiercd -
doneexit
L’avantage de la deuxième solutions c’est que c’est plus court. L’inconvénient c’est que tu as beaucoup plus de changement de répertoire.
Le cd - affiche le répertoire de destination, si ça pollue ton affichage, il faut rediriger la sortie vers /dev/null.
Sinon, je n’ai pas vérifié, il est probable qu’il y ait des erreurs de syntaxes.
Une dernière pour la route, on reprend la première solution et on vire la boucle. N’hésite pas a faire man des commandes utilisées.
#!/bin/bashliste_rep=folder/*
for rep in "$liste_rep"docd"$rep"echo *.tar.gz | xargs -n 1 tar -zxvf
cd -
doneexit
#!/bin/bashliste_rep="folder/*"#- La variable liste_rep vaut : 'folder/*' et ne contient donc qu’un élément.#- Il faut enlever les guillemets pour laisser bash étendre.#- La variable « folder » n’est pas utilisé.# folder="$(ls folder)"#- Le liste_rep est en dehors des guillemets, donc bash évalue folder/* #- et l’étend avant de passer les paramètres à echo…echo"LISTE REP :"$liste_repfor rep in "$liste_rep"do#- rep vaut la seule valeur de liste_rep.echo"AFFICHE REP :"$rep#for fichier in "$(ls /folder/*)" # test#- Bash étend les répertoires et les fichiers. Donc fichier vaudra :#- * 001/1.tar.gz#- * 001/2.tar.gz#- * 002/1.tar.gz#- * …for fichier in $liste_rep/*.tar.gz
do#- Tu peux utilisé cd avec dirname… cd $(dirname …)#cd $liste_repecho"FICHIER :"$fichier
tar -zxvf $fichier#- --directory $liste_rep/#- Ajouter un cd pour retourner dans le répertoire précédent.donedoneexit
end
Tu peux changer de répertoire pour te mettre dans le répertoire du fichier.
Tu peux utiliser dirname, ou un cd avant et après la boucle imbriquée.
Pour un meilleur apprentissage, je te laisse me répondre avec la bonne solution. Si tu n’y arrive toujours pas, j’essayerai de te guider plus précisément.
Il faut mettre 3 « anti-cote » <altgr>+<7> Tu vois avec ruby tout en bas de la page de réponse.
En remplaçant ruby par bash ça fait joli.
Sous les commentaires tu as un lien « répondre » qui permet de hiérarchiser les réponses. C’est plus agréable que de toujours commencer un nouveau commentaire.
Sinon, je ferai plutôt en deux boucles avec une variable repertoire. Ta variable fichier est en fait une liste de répertoire, et ce n’est pas clair quand on lit.
#!/bin/bashliste_repertoires="/folder/"for repertoire in "$liste_repertoires"dofor fichier in "$repertoire"/*.tar.gz
do
tar xzf "$fichier"donedone
Le titre fait croire que tu parles d’un nouveau logiciel libre, mais dès les premières lignes tu nous explique ta vision du libre, et pourquoi ce nouveau logiciel est plus libre que libre. Mais concrètement, il fait quoi ce logiciel ?
Je ne pense pas que l’écriture inclusive s’impose. Dans l’histoire, l’écrit n’a fait que suivre les évolutions du langage parlé. Et tant qu’il n’y aura pas de prononciation propre pour l’inclusif…
Par contre, une fois qu’il y aura une prononciation, il est possible que certains mots évolue vers la nouvelle terminaison sonore, mais ça ne ressemblera certainement pas à cette horreur. Aujourd’hui, à part quelques coups médiatiques, je ne vois pas les choses évoluer. Àmha.
Tu peux regarder leur code, construire ta propre calculatrice suivant leur plans si tu veux, corriger les bugs que tu aurais trouvé si NumWorks ne le faisait pas, partager tes modifs avec d'autres. Tu peux auditer le code et le recompiler si tu n'as pas confiance. Tu peux ajouter des fonctionnalités où en supprimer.
Donc tu peux faire une version qui supprime le mode examen… je me demande, s’il n’y a pas un risque de ne pouvoir utiliser la calculette pour cause de « piratage » trop facile ?
Comment les surveillants pourront être sûr que c’est une calculatrice conforme ? Si ça ne l’est pas, que faire ?
Pour un programme informatique, tu as des entrées en général des entrées clavier. Ici c’est 17.9.
Des sorties : Le résultat.
Le corps du programme qui contient :
* L’algorithme ;
* Les données internes (déduite des entrées)
* Les constantes.
Ton H peut être une entrée ou une constante de réglage, c’est ton choix ou celui de l’énoncé.
Peux-tu détailler les étapes pour refaire ce que tu as fait au dessus ?
Je commence :
Demander un nombre et le stocker dans une variable x
…
Je ne suis pas allé voir, mais là, tu parles dans les backports… C’est à dire des versions plus récentes que celle maintenu par l’équipe de sécurité qui est dans stable.
Depuis quelques temps, tu reviens pleurer, nous dire qu’on est méchant… mais si nous sommes tous affreux, débile… (laisse libre cours à ton imagination) pourquoi t’acharnes-tu à vouloir faire parti de cette communauté que tu décries ?
En fait, tout les fichiers dans /dev finissent dans un driver de périphérique du noyau.
Tu as deux types de fichiers, les types block qui ont une taille et dans lesquels ont peut se déplacer (les périphériques disque notamment) et les types caractère qu’on ne peut lire que en flux, ou on retrouve clavier, souris, RS232, etc.
Je suis navré, je croyais que tu cherchais une solution et j’ai essayé d’utiliser l’outil qui me semblait le plus adapté pour résoudre ton problème tel que je l’avais compris. Mais si le but était le défi intellectuel de le faire avec sed effectivement, j’ai répondu a côté de la plaque… tu m’en vois navré.
[^] # Re: Boucle correcte - destination erroné
Posté par Anthony Jaguenaud . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 2.
Je reprends et termine.
Néanmoins on peut faire plus simple : (avec 2 boucles)
Autre solution avec une seule boucle. On profite que bash sait étendre plusieurs
*
L’avantage de la deuxième solutions c’est que c’est plus court. L’inconvénient c’est que tu as beaucoup plus de changement de répertoire.
Le
cd -
affiche le répertoire de destination, si ça pollue ton affichage, il faut rediriger la sortie vers/dev/null
.Sinon, je n’ai pas vérifié, il est probable qu’il y ait des erreurs de syntaxes.
Une dernière pour la route, on reprend la première solution et on vire la boucle. N’hésite pas a faire
man
des commandes utilisées.[^] # Re: Boucle correcte - destination erroné
Posté par Anthony Jaguenaud . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 2.
Je mets des commentaires
#-
Aller, je reviens après mangé.
[^] # Re: Boucle correcte - destination erroné
Posté par Anthony Jaguenaud . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 2.
Tu peux changer de répertoire pour te mettre dans le répertoire du fichier.
Tu peux utiliser
dirname
, ou uncd
avant et après la boucle imbriquée.Pour un meilleur apprentissage, je te laisse me répondre avec la bonne solution. Si tu n’y arrive toujours pas, j’essayerai de te guider plus précisément.
[^] # Re: Cet Interface ne affiche pas les etoiles "*"
Posté par Anthony Jaguenaud . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 2.
Il faut mettre 3 « anti-cote »
<altgr>+<7>
Tu vois avec ruby tout en bas de la page de réponse.En remplaçant ruby par bash ça fait joli.
Sous les commentaires tu as un lien « répondre » qui permet de hiérarchiser les réponses. C’est plus agréable que de toujours commencer un nouveau commentaire.
# Double post
Posté par Anthony Jaguenaud . En réponse au message Décompresser plusieurs tar.gz. files à l’intérieur de plusieurs dossiers. Évalué à 1.
Tu as fait un double post, j’ai répondu ici
# 2 boucles
Posté par Anthony Jaguenaud . En réponse au message tar : <chemin ver le fichier/file.tar.gz> : non trouvé dans l'archive. Évalué à 2.
Salut,
Dans ta ligne :
Il manque le
*
devant le.tar.gz
Sinon, je ferai plutôt en deux boucles avec une variable
repertoire
. Ta variablefichier
est en fait une liste de répertoire, et ce n’est pas clair quand on lit.[^] # Re: Et en fait, ça fait quoi ?
Posté par Anthony Jaguenaud . En réponse au journal chexpire, un nouveau Logiciel Libre. Évalué à 8.
Merci.
C’est dommage que ton journal ne commence pas par ça, car le petit paragraphe est noyé dans le reste.
# Et en fait, ça fait quoi ?
Posté par Anthony Jaguenaud . En réponse au journal chexpire, un nouveau Logiciel Libre. Évalué à 7.
Le titre fait croire que tu parles d’un nouveau logiciel libre, mais dès les premières lignes tu nous explique ta vision du libre, et pourquoi ce nouveau logiciel est plus libre que libre. Mais concrètement, il fait quoi ce logiciel ?
[^] # Re: La chose à ne jamais faire
Posté par Anthony Jaguenaud . En réponse au journal L'étrange vague de spam visant free.fr. Évalué à 4.
Moi, j’utilise les MX Plan de OVH.
J’ai une email vpc@… ensuite, je créé des redirections.
amazon@vpc.…
fnac@vpc.…
mollat@vpc.…
Je fais pareil avec des redirections vers mon mail :
github@prenom.…
Pareil pour mon fils.
github@sonprenom.…
Comme ça, si une adresse pose problème, je la retire des redirections.
[^] # Re: La chine
Posté par Anthony Jaguenaud . En réponse à la dépêche Utiliser son Android de façon plus sécurisée. Évalué à 7.
Je reste dans le hors sujet.
Je ne pense pas que l’écriture inclusive s’impose. Dans l’histoire, l’écrit n’a fait que suivre les évolutions du langage parlé. Et tant qu’il n’y aura pas de prononciation propre pour l’inclusif…
Par contre, une fois qu’il y aura une prononciation, il est possible que certains mots évolue vers la nouvelle terminaison sonore, mais ça ne ressemblera certainement pas à cette horreur. Aujourd’hui, à part quelques coups médiatiques, je ne vois pas les choses évoluer. Àmha.
[^] # Re: Troll classique contre le libre
Posté par Anthony Jaguenaud . En réponse au journal Retour sur la licence de NumWorks. Évalué à 7.
Donc tu peux faire une version qui supprime le mode examen… je me demande, s’il n’y a pas un risque de ne pouvoir utiliser la calculette pour cause de « piratage » trop facile ?
Comment les surveillants pourront être sûr que c’est une calculatrice conforme ? Si ça ne l’est pas, que faire ?
# Super Nouvelle
Posté par Anthony Jaguenaud . En réponse à la dépêche Hébergez votre projet open source sur la nouvelle plate‐forme Agile et libre : Tuleap.net. Évalué à 5.
Je trouve que cette ouverture est très bien. Mais :
N’ayant pas encore eu le temps de m’inscrire, comment ça se passe sur les points ci-dessus ?
[^] # Re: Je veux bien te le faire ....
Posté par Anthony Jaguenaud . En réponse au message Exercice Python. Évalué à 2.
Pour un programme informatique, tu as des entrées en général des entrées clavier. Ici c’est 17.9.
Des sorties : Le résultat.
Le corps du programme qui contient :
* L’algorithme ;
* Les données internes (déduite des entrées)
* Les constantes.
Ton H peut être une entrée ou une constante de réglage, c’est ton choix ou celui de l’énoncé.
Peux-tu détailler les étapes pour refaire ce que tu as fait au dessus ?
Je commence :
Demander un nombre et le stocker dans une variable x
…
[^] # Re: Personas femme?
Posté par Anthony Jaguenaud . En réponse à la dépêche Refaire LinuxFr.org : résultats de l’enquête. Évalué à 0.
Une femme aura-t-elle vraiment un comportement différent d’un homme s’ils ont les mêmes aspirations, les mêmes recherche… ?
Pour moi, le sexe des personas n’a pas d’intérêt que de faire un procès inutile. Il suffit de les mettre toutes aux féminins et ce sera réglé, non ?
[^] # Re: Je veux bien te le faire ....
Posté par Anthony Jaguenaud . En réponse au message Exercice Python. Évalué à 2.
Prenons la fonction x au carré pour essayer.
Tu as 17.9, f(x) = x²
Comment tu fais ? Si tu arrives à expliquer, tu auras fait la moitié de ton travail.
[^] # Re: Je veux bien te le faire ....
Posté par Anthony Jaguenaud . En réponse au message Exercice Python. Évalué à 3.
Je choisie 17,9
Maintenant comment tu détermines l’accroissement moyen ?
[^] # Re: PKGBUILD
Posté par Anthony Jaguenaud . En réponse au journal Construire des paquets DEB pour Debian (deuxième partie). Évalué à 2.
Je ne suis pas allé voir, mais là, tu parles dans les backports… C’est à dire des versions plus récentes que celle maintenu par l’équipe de sécurité qui est dans stable.
Merci de me corriger si je dis une connerie.
[^] # Re: Pourquoi t’acharner à vouloir en faire partie ?
Posté par Anthony Jaguenaud . En réponse au journal Proposition révolutionnaire pour linuxfr. Évalué à 2.
Si tu suis ce commentaire, tu devrais pouvoir remonter la chaîne…
Ce n’est qu’une supposition bien sûr, mais la ressemblance est troublante.
# Pourquoi t’acharner à vouloir en faire partie ?
Posté par Anthony Jaguenaud . En réponse au journal Proposition révolutionnaire pour linuxfr. Évalué à 8.
Depuis quelques temps, tu reviens pleurer, nous dire qu’on est méchant… mais si nous sommes tous affreux, débile… (laisse libre cours à ton imagination) pourquoi t’acharnes-tu à vouloir faire parti de cette communauté que tu décries ?
# Commandé
Posté par Anthony Jaguenaud . En réponse au message Avis pour SOSAV. Évalué à 2.
J’ai commandé mon produit.
Par contre, niveau sécurité… ils m’ont envoyé mon mot de passe par courriel ! Comme si je ne le connaissais pas.
[^] # Re: /dev/null est un fichier spécial
Posté par Anthony Jaguenaud . En réponse au message Fonctionnement de /dev/null. Évalué à 7.
En fait, tout les fichiers dans
/dev
finissent dans un driver de périphérique du noyau.Tu as deux types de fichiers, les types
block
qui ont une taille et dans lesquels ont peut se déplacer (les périphériques disque notamment) et les typescaractère
qu’on ne peut lire que en flux, ou on retrouve clavier, souris, RS232, etc.[^] # Re: nc et tar
Posté par Anthony Jaguenaud . En réponse au message copier un dossier entre deux ordinateurs. Évalué à 2.
C’est marrant, je connaissais avec ssh.
ssh compte1@ordi1:tar czf - repertoire_a_sauver | ssh compte2@ordi2:tar xzf -
En fonction de la puissance des machines et de la rapidité du réseau, ça peut aller plus vite sans compression.
[^] # Re: Remise en question ?
Posté par Anthony Jaguenaud . En réponse au message linuxfr: le systeme de notation. Évalué à 5.
D’ailleurs, l’autre jour, je voulais relire les geekscottes. Mais le site à disparu :'(
Quelqu’un sait-il pourquoi ?
[^] # Re: awk
Posté par Anthony Jaguenaud . En réponse au message remplacement dans fichier. Évalué à 2.
Je suis navré, je croyais que tu cherchais une solution et j’ai essayé d’utiliser l’outil qui me semblait le plus adapté pour résoudre ton problème tel que je l’avais compris. Mais si le but était le défi intellectuel de le faire avec
sed
effectivement, j’ai répondu a côté de la plaque… tu m’en vois navré.[^] # Re: awk
Posté par Anthony Jaguenaud . En réponse au message remplacement dans fichier. Évalué à 2.
Merci, je ne savais pas qu’on pouvait utiliser $x en lvalue.