Recherche chaine dans un fichier texte avec script shell

Recherche chaine dans un fichier texte avec script shell - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-06-2009 à 12:21:36    

Bonjour,
 
Je sollicite votre aide pour la recherche et le traitement de chaine de caractère dans un fichier texte à partir d'un script shell (bash). Malheureusement, je ne connais pas grand chose sur le sujet  :(  
 
Le fichier texte (drivers.inf) se présente sous cette forme:
[Manufacturer]
toto=ma valeur recherchée
 
Remarque: la valeur toto n'est pas connue, cependant Manufacturer est une valeur fixe.  
 
Dans un deuxième temps, je dois supprimer les espaces dans ma "valeur recherchée" ="valeurrecherchée"
 
Jusqu'a présent, je ne vais pa plus loin que ça : grep "Manufacturer" "drivers.inf"  :??:  
 
Merci de votre aide  
 

Reply

Marsh Posté le 10-06-2009 à 12:21:36   

Reply

Marsh Posté le 10-06-2009 à 13:59:05    

Salut,
essaie :

Code :
  1. cat drivers.inf | awk '/^[Manufacturer]/{print $2 }'


Ca ne fera pas tout mais devrait te mettre sur la voie ... Je pense que specifier FS="=" devrait t'aider ...
 
Tiens au jus.
++


---------------
www.google.fr  
Reply

Marsh Posté le 10-06-2009 à 14:02:36    

Dans la famille des éditeurs de texte il y a le programme "sed" aussi.

Reply

Marsh Posté le 10-06-2009 à 17:17:48    

en perl, un truc de ce style(qui ne fonctionne pas encore tout à fait bien)

Code :
  1. perl -ne '$\=$/;(/\[Manufacturer\]/../^$/)&&print/=(.+)$/' drivers.inf


 
drivers.inf:
[Noop]
titi=valeur
titi=autre valeur
 
[Noop]
titi=valeur
toto=autre valeur
 
[Manufacturer]
toto=ma valeur recherchee
toto=autre valeur recherchee
 
[Noop]
toto=valeur
titi=autre valeur
 
[Noop]
titi=valeur
toto=autre


Message édité par hardball le 11-06-2009 à 00:04:42
Reply

Marsh Posté le 10-06-2009 à 17:41:54    

Va falloir que je me mette à perl mouah .. qui est un vrai couteau-suisse


---------------
www.google.fr  
Reply

Marsh Posté le 11-06-2009 à 00:30:30    

Code :
  1. perl -ne '$\=$/;(/\[Manufacturer\]/../^$/)&&s/\s//g&&print/=(.+)$/' drivers.inf
  2. mavaleurrecherchee
  3. autrevaleurrecherchee

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed