Garder le nom et modifier une extension dans une boucle
Résolu
LOLplz
-
LOLplz -
LOLplz -
Bonjour,
j'ai plusieurs problème dans mon script bash et j'aimerais avoir votre aide.
Je vous explique, je voudrais savoir comment on fait pour exécuter un script sur plusieurs log d'un dossier et rediriger le résultat en gardant le nom mais en modifiant l'extension (de .log à .html).
dossier='/truc/pgfouine-1.1/dl/log/'
script='/truc/pgfouine-1.1'
statTab='/truc/pgfouine-1.1/dl/statistiqueTab'
for log in $dossier
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $dossier > $statTab/GARDER LE NOM.MODIFIER L'EXENTION
done
j'ai plusieurs problème dans mon script bash et j'aimerais avoir votre aide.
Je vous explique, je voudrais savoir comment on fait pour exécuter un script sur plusieurs log d'un dossier et rediriger le résultat en gardant le nom mais en modifiant l'extension (de .log à .html).
dossier='/truc/pgfouine-1.1/dl/log/'
script='/truc/pgfouine-1.1'
statTab='/truc/pgfouine-1.1/dl/statistiqueTab'
for log in $dossier
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $dossier > $statTab/GARDER LE NOM.MODIFIER L'EXENTION
done
3 réponses
-
Salut,
$ var=/chemin/rep/fichier.log $ echo ${var} /chemin/rep/fichier.log $ echo ${var%.*}.html /chemin/rep/fichier.html
-
-
-
-
Quand j'execute le script tout va bien mais il ne me redirige pas le fichier et ne me change pas l'extension
dossier='/truc/pgfouine-1.1/dl/log/'
script='/truc/pgfouine-1.1'
statTab='/truc/pgfouine-1.1/dl/statistiqueTab'
for dossier in $dossier/*.log
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $dossier > ${statTab%.*}.html
done -
-
-
salut,
for f in $dossier/*.log do echo "monScript $f > ${f%.*}.html" donevoir man bash /Remplacement des paramètres -
Je sais pas comment initialisé ma boucle.
Pour faire :
Pour les logs dans $dossier.
Parcourir le fichier puis leur executer une commande et renvoyer le resultat du script en gardant le nom mais en changent l' extension (de .log à html).
#!/bin/bash
dossier='/Users/truc/pgfouine-1.1/dl/log'
script='/Users/truc/pgfouine-1.1'
statTab='/Users/truc/pgfouine-1.1/dl/statistiqueTab'
i=
for i in $dossier/*.log
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $dossier${i} > $statTab${i%.*}.html
done
Le problème vient surement du i mais je sais pas comment l'utiliser-
-
tu en pense quoi ?
#!/bin/bash
dossier='/Users/truc/pgfouine-1.1/dl/log'
script='/Users/truc/pgfouine-1.1'
statTab='/Users/truc/pgfouine-1.1/dl/statistiqueTab'
log='/postgresql-2013-*'
for log in $dossier/*.log
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $dossier${log} > $statTab${log%.*}.html
done -
La même chose qu'en #12 ;-(
-
J'ai trouvé :
#!/bin/bash
dossier='/Users/truc/pgfouine-1.1/dl/log'
script='/Users/truc/pgfouine-1.1'
statTab='/Users/axel/Desktop/pgfouine-1.1/dl/statistiqueTab'
log='postgresql-2013-'
for log in $dossier/*.log
do
$script/pgfouine.php -top 50 -logtype stderr -format html -keepformatting -memorylimit 1073741824 -file $log > ${log%.*}.html
done
Le problème venais de log -
-