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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Recherche chaine dans un fichier texte avec script shell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche chaine dans un fichier texte avec script shell

n°1141526
Armoi
Posté le 10-06-2009 à 12:21:36  profilanswer
 

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  
 

mood
Publicité
Posté le 10-06-2009 à 12:21:36  profilanswer
 

n°1141551
boobaka
Posté le 10-06-2009 à 13:59:05  profilanswer
 

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  
n°1141553
Tuxerman12
Posté le 10-06-2009 à 14:02:36  profilanswer
 

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

n°1141613
hardball
Posté le 10-06-2009 à 17:17:48  profilanswer
 

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
n°1141616
boobaka
Posté le 10-06-2009 à 17:41:54  profilanswer
 

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


---------------
www.google.fr  
n°1141687
hardball
Posté le 11-06-2009 à 00:30:30  profilanswer
 

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


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

  Recherche chaine dans un fichier texte avec script shell

 

Sujets relatifs
init.d et script perso. lors d'un rebootrecherche distrib enfants
Script au démarrage[RESOLU] Script PHP au démarrage d'Ubuntu
[bash] remplacer une chaine sed, perl ...Executer une commande shell periodiquement
Lancement automatique script shell sur MinGW WindowsScript et performances de copie... (difficile)
supprimer un fichier commençant par $ 
Plus de sujets relatifs à : Recherche chaine dans un fichier texte avec script shell


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