Script bash - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 03-06-2006 à 02:15:37
J ai trouvé .....
./test.exe & ./sleep 2; ./taskkill /im test.exe
pour info....
sinon j ai une autre question .....
je voudrais creer un historique ...
j ai deja
./cmp test.txt test.txt.old
je voudrais que si le fichier est different il prenne la premiere ligne du fichier test.txt et qu il rajoute la ligne au fichier historique.txt ....
possible a faire .?
Marsh Posté le 03-06-2006 à 12:03:57
avec cat test.txt | grep -m1 expr >> historique.txt
Si expr est une expression régulière qui figure dans la première ligne de test.txt, il va copier la ligne à la fin de historique.txt... c'est pas tout à fait ce que tu veux, mais je n'en connais pas beaucoup en bash, désolé
Marsh Posté le 03-06-2006 à 12:36:23
kruso a écrit : avec cat test.txt | grep -m1 expr >> historique.txt |
pas besoin de cat ici :
grep -m1 expr test.txt >> historique.txt |
sinon, pour la réponse à la question, un diff (pour comparer les modifications, si tu veux juste regarder les dates de modifs ou autres, tu peux utiliser test) suivi d'un head -n1 test.txt >> historique.txt si nécessaire
Marsh Posté le 03-06-2006 à 14:08:44
Merci pour vos reponses ...
mais quand j utilise
grep -m1 expr test.txt >> historique.txt
j ai aucune erreur dans le script ... mais il me creer un fichier de 0 octet pour le fichier historique.txt .....
Marsh Posté le 03-06-2006 à 14:10:17
expr est bien sur la première ligne de test.txt ?
si il n'y est pas, c'est normal que grep ne trouve rien
Marsh Posté le 03-06-2006 à 15:04:30
ok c est bon j avais pas compri l utilisation de expr ...
c est on ca fonctionne nikel ..... derniere chose .... puis je mettre une date et heure a la ligne k il rajoute
Marsh Posté le 04-06-2006 à 00:30:37
y a t il une commande genre ./grep "date" test test.txt historique.txt ...
je trouve pas comment rajouter la date dans le fichier historique en meme temps ...
Marsh Posté le 04-06-2006 à 11:45:26
man date; tout est expliqué dedans.
et si tu veux seulement la première ligne, il y a mieux que grep (head par ex)
Marsh Posté le 04-06-2006 à 13:34:37
Merci pour ton aide .... mais kan j utilise ./date >> historique.txt ca me rajoute une ligne avec la date ....
moo je voudrais ne pas rajouter de ligne mais plutot rajouter la date a la fin de la derniere ligne de historique.txt
je recherche sur le forum mais apparement une telle commande se fait pas avec ./date ou ./grep
Merci d avance ... si vous avez une solution
Marsh Posté le 04-06-2006 à 13:53:13
franchement, documente toi sur le shell, les expressions régullère, les outils et la façon de les employer, là tu teste au petit bonheur la chance et tu n'obtiendras que très difficilement des résultats.
tu as plusieurs sites qui parlent de ce sujet dans le topic des liens.
en substance, j'essaierais un truc comme ça (on suppose que tu crées un fichier test.old en début de ton programme par copie de test.txt) :
Code :
|
(ce code doit marcher mais il est à adapter en fonction de tes vrais besoins)
Marsh Posté le 04-06-2006 à 14:28:16
j ai bien fais ce que tu as dis ...
voila mon fichier test.sh
#!/bin/bash
TETE="head -n7 clefdujour.txt"
MAINTENANT="date"
echo $TETE $MAINTENANT >> historique.txt
mais dans le fichier historique j obitient la ligne
head -n7 test.txt date
je repete que je n utilise pas linux ... je suis sous windows et que je lance un fichier .sh
avec la comande bash test.sh
deja si je met ton script exact il me dis que la commande tete et maintenant sons introuvable .... mais si je met " au lieu de ` ca fonctionne mais il me met pas la date ....
Marsh Posté le 04-06-2006 à 14:38:01
Thomas_59 a écrit : j ai bien fais ce que tu as dis ... |
documente toi et n'essaye pas de faire tout à l'aveuglette.
Marsh Posté le 04-06-2006 à 14:52:33
j ai fais un script automatique qui marche tres bien ....
mais avec la comande bash ....
a la limite si rajouter une dat ou heure c est pas possible tant pis .....
mais ca m aiderais , car la j ai des ligne sans date ... assez chiant pour retracer les evenements ....
mais bon si c est pas possible je me contenterais de mon tit script ....
Merci bcp pour ton aide
Marsh Posté le 03-06-2006 à 01:58:42
kikou tout le monde
petite question
comment puis je enchainé 2 actions ... car la il me lance la premiere action mais enchaine pas sur la 2 eme ....
#!/bin/bash
./test.exe &&
./taskkill /im test.exe
echo -n "mise à jour terminé..."
fi
merci d avance ...