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
# 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.
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 file 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 :(
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