Précédent
- 1
- 2
-
Pardon, la valeur de retour que je veux est le "n" fois:
# cat ccm.sh
#!/bin/sh
perl /home/lami20j/ccm.pl $1
si "n" = 0 alors
"traitement"
sinon
"traitement
fin si -
Il y a aussi un problème au niveau de la recherche :(
si jamais l'utilisateur entre "ch" il faudrait que la valeur de retour de "n" soit 0 et non pas 5 :(
ch trouvé 5 fois
Il faut que le script charche la chaine entière comme je l'ai dis dans mes premiers mails. -
Voilà
root@debian:~# cat fic ch=a.chaine1,b.chaine2 ch1=a.chaine1,b.chaine2 ch2=c.chaine3 ch3=a.chaine4,b.chaine5,chiane6 etc... root@debian:~# cat ccm.pl #!/usr/bin/perl use strict;use warnings; my %h; my $ch = shift @ARGV; while(<>){ next unless /(\w*\.*$ch)/; $h{$1}++; } print values %h; __END__ root@debian:~# cat ccm.sh #!/bin/sh echo -e "Entrez la chaine a chercher : \c" read ch var=$(perl /home/lami20j/ccm.pl $ch $1) if [ -z $var ] then echo "NULL" else echo $var fi root@debian:~# sh ccm.sh fic Entrez la chaine a chercher : chaine1 2 root@debian:~# sh ccm.sh fic Entrez la chaine a chercher : divers NULL root@debian:~# -
le script shell
#!/bin/sh echo -e "Entrez la chaine a chercher : \c" read ch var=$(perl /home/lami20j/ccm.pl $ch $1) if [ -z $var ] then echo "NULL" else echo $var fi
le script perl#!/usr/bin/perl use strict;use warnings; my %h; my $ch = shift @ARGV; while(<>){ next unless /(\w*\.$ch)\b/; $h{$1}++; } print values %h; __END__le résultatroot@debian:~# sh ccm.sh fic Entrez la chaine a chercher : chaine1 2 root@debian:~# sh ccm.sh fic Entrez la chaine a chercher : chaine10 NULL root@debian:~# sh ccm.sh fic Entrez la chaine a chercher : ch NULL root@debian:~#
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voici le résultat d'execution que j'obtiens.
Entrez la chaine a chercher : chai
pp[8]: test: 0403-004 Spécifiez un paramètre avec cette commande.
[]>sh pp _tmp
Entrez la chaine a chercher : chaine3
1
[]>sh pp _tmp
Entrez la chaine a chercher : chiane9
pp[8]: test: 0403-004 Spécifiez un paramètre avec cette commande.
Merci d'avance pour ton lamij, je t'ai pas mal dérangé, j'en suis désolé mais je ne connais pas perl :(
Précédent
- 1
- 2