Besoin d'aide. [Bash] - Shell/Batch - Programmation
Marsh Posté le 22-11-2007 à 18:24:06
Code :
|
Marsh Posté le 22-11-2007 à 19:21:27
son batch à lui c genre du bash ou qqch comme ca, le tiens Coolnut c sous DOS/win nan ?
Marsh Posté le 22-11-2007 à 20:09:21
ca y est c devenu msn ici ?
Marsh Posté le 23-11-2007 à 14:50:22
Excusez-moi, c'est du bash.
J'ai corrigé le sujet.
C'est un script que je vais lancer sur un serveur AIX Version 5.2
Marsh Posté le 23-11-2007 à 15:32:23
ReplyMarsh Posté le 23-11-2007 à 17:04:45
Elmoricq a écrit : Un truc comme ça devrait le faire :
|
C'est parfait.
Merci beaucoup pour votre aide.
Marsh Posté le 23-11-2007 à 17:26:15
Non, c'est batch qui est abusivement compliqué. Enfin c'est mon avis.
Marsh Posté le 04-12-2007 à 09:47:18
bonjour a tous. Voila je me mets au shell depuis quelques temps et je fais des petits scripts mais j'ai besoin d'aide. Je cherche actuellement a faire un script permettant de compter le nombre d'occurence d'un mot (que l'on entre soi-meme) dans un texte. En clair si j'appelle mon script cherche.sh j'aimerais qu'en faisant :
./cherche.sh bonjour bonsoir montexte.txt
il compte le nombre de fois qu'apparaissent les mots "bonjour" et "bonsoir" dans le fichier "montexte.txt".
j'ai deja essayé avec awk et autre mais je n'aboutit a rien.
Si quelqu'un pouvait m'aider ca serait sympa ;D
Marsh Posté le 04-12-2007 à 09:53:19
Si j'ai bien compris tu veut compter le nombre de foi que se trouve le mot bonjour dans un fichier.txt, si c'est ca voila:
Code :
|
Marsh Posté le 04-12-2007 à 10:13:13
Redrya a écrit : bonjour a tous. Voila je me mets au batch depuis quelques temps et je fais des petits scripts mais j'ai besoin d'aide. Je cherche actuellement a faire un script permettant de compter le nombre d'occurence d'un mot (que l'on entre soi-meme) dans un texte. En clair si j'appelle mon script cherche.sh j'aimerais qu'en faisant : |
Donc pas en batch, qui est DOS/Windows. L'erreur a été expliquée sur ce topic même.
Perso je ferais ça avec PERL :
perl -ne 'BEGIN { my $count = 0; } { $count += split /le_mot_à_compter/, $_; } END { print "$count\n"; }' fichier |
Marsh Posté le 04-12-2007 à 10:41:23
à Coolnut :: pourais-tu m'expliquer ton code car je n'arrive pas a le faire marcher (puis si possible donner une formule plus générale est non pas uniquement pour le mot "bonjour" mais pour n'importe quel mot rentré après l'execution du code => comme dit dans mon premier message).
à Elmoricq :: je ne prefere pas faire de perl pour le moment mais merci quand même
Marsh Posté le 04-12-2007 à 10:49:34
Hmm, c'est normal que tu ne puisses pas le faire fonctionner si tu es sur environnement unixoïde, puisque le code de Coonut c'est du batch (DOS/Windows).
Et pourquoi ne veux-tu pas utiliser PERL, normalement il est sur ton système s'il date de moins de quinze ans.
Sinon avec nawk + bash ça marche aussi :
count=0 |
Marsh Posté le 22-11-2007 à 16:41:35
Bonjour,
J'aurais besoin d'un petit coup de pouce pour la création d'un script.
J'ai un fichier qui contient des lignes sous la forme suivantes :
ZEPU3F0I RFX R2MMSB K2119150 1002 1002 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119161 797 797 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119170 631 631 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119174 335 335 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119184 740 740 1 CP 00%
ZEPU3F0I RFX R2MMSB K2119191 424 424 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119194 343 343 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119203 502 502 0 CP 00%
ZEPU3F0I RFX R2MMSB K2119205 294 294 0 CP 00%
Et je voudrais une commande qui extrait les lignes pour lesquelles le 7° champ et différent de 0.
J'ai trouvé la commande suivante :
cat "nomfichier" | awk '{print $7}' | grep -v 0
Mais elle n'affiche que la valeur du champ qui est différent de 0 mais pas la ligne entière.
Merci d'avance pour votre aide.
Message édité par NumanFirst le 23-11-2007 à 14:48:37