Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1277 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script shell qui recherche un mot

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script shell qui recherche un mot

n°986488
motard75
Posté le 02-12-2007 à 00:18:47  profilanswer
 

Bonjour a toutes et a tous :hello:  
 
Voila je suis entrain d'écrire un script qui doit réaliser la chose suivante :
- Il lit une phrase donnée en entrée, recherche le premier mot "toto", puis enregistre les trois parties de la phrase (à savoir ce qu'il y a avant "toto", "toto" et le reste) quelque part (par exemple dans un fichier avec une chaine de caractere du genre [début, "toto", fin]).
 
Voici le code que j'ais écris :
 
#!bin/bash
read P
(je ne sais pas comment rechercher le premier mot 'toto' dans une phrase pour découper alors j'ais penser à :  
echo $P |awk -F "toto" '{print "[",$1,",",$2,",",$3,"]"}'
Mais je pense que c'est faux (ca ne va pas prendre le premier "toto" ))
 
Quelqu'un peut m'aider ?

mood
Publicité
Posté le 02-12-2007 à 00:18:47  profilanswer
 

n°986493
Guignolo
éternel newbie
Posté le 02-12-2007 à 01:52:03  profilanswer
 

En gros ce que tu veux, c'est chercher une chaine de caractère dans une phrase, et pouvoir récupérer indépendamment ta chaine de caractère seule, ce qu'il y a avant seulement ou ce qu'il y a après seulement, j'ai bien compris ?

 

Et ton ébauche, avant de dire que c'est faux, tu l'as testée ?

 

EDIT : Et si ton motif (en l'occurence "toto" ) apparait plusieurs fois, tu perd ce qu'il y a à partir de sa seconde apparition.
Si c'est le cas, tu pourrais compter les occurences de ton motif avant tout, et adapter en collant ça dans une boucle.


Message édité par Guignolo le 02-12-2007 à 02:00:36
n°986679
motard75
Posté le 02-12-2007 à 20:22:13  profilanswer
 

Merci de m'avoir repondu Guignolo.
Oui je l'ais tester, le probleme c'est que si ma phrase est :
"ritotorito toto super"
cela sera découpé comme suit:
$1="ri"
$2="rito "
$3=" super"
Or ce que j'aurais voulu c'est :
$1="ritotorito "
$2="toto"
$3=" super"
 
Voila je n'y arrive pas...

n°986681
motard75
Posté le 02-12-2007 à 20:23:58  profilanswer
 

Autre exemple : Si ma phrase est :
Je n'aime pas toto, il est pas gentil
 
Alors j'aurais aimé avoir :
$1="Je n'aime pas "
$2="toto"
$3=", il est pas gentil"
 
Merci en tout cas.

n°986686
Guignolo
éternel newbie
Posté le 02-12-2007 à 20:32:16  profilanswer
 

Fait ça en Perl :D

n°986706
motard75
Posté le 02-12-2007 à 21:03:43  profilanswer
 

C'est pas possible en shell?
(Je dis ca car je connais un peu les scripts shell mais pas du tout perl.... Il faut que je m'y mette...)

n°986722
Guignolo
éternel newbie
Posté le 02-12-2007 à 21:47:31  profilanswer
 

Ben, sans doute mais je m'y suis un peu penché hier soir, j'ai abandonné assez vite, le man awk m'a vite filé une bonne migraine :/
 
Mais la base des langages comme Perl ou Python est pas difficile à apprendre, et c'est suffisant pour faire des trucs basiques comme ça (surtout Perl pour le traitement du texte).

n°986725
motard75
Posté le 02-12-2007 à 21:51:42  profilanswer
 

c vrai k le man awk fai un peu mal a la tete...:)  
En tout cas jte remercie, je vais encore faire quelque tests...

n°986728
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 02-12-2007 à 21:56:37  profilanswer
 

c'est dans quel cours qu'on te demande ça ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°986730
motard75
Posté le 02-12-2007 à 22:02:02  profilanswer
 

Nan la c'est pas pour un cours black_lord :)
J'écris un site internet, et jvoulais écrire un script qui fait ca pour generer automatiquement des tableaux avec des phrases que j'entre...
 
T'aurais pas une idée comment je peux procéder:)?

mood
Publicité
Posté le 02-12-2007 à 22:02:02  profilanswer
 

n°986747
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 02-12-2007 à 23:09:18  profilanswer
 

echo "<tr>"
for x in maphrase
do
echo "<td>$x</td>
done
echo "<tr>"


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script shell qui recherche un mot

 

Sujets relatifs
shell bash : decouper un mot[RH5EL] Recherche Directory Server
A la recherche de 2 tutorielsProblème de script bash sous Cygwin
Script Connexion SambaScript shell pour découper des fichiers audio
Konqueror, dcop, shell scriptscript pour copier des fichiers.
Plus de sujets relatifs à : script shell qui recherche un mot


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR