Recherche dans un fichier evolué [Shell Linux] - Shell/Batch - Programmation
Marsh Posté le 06-07-2015 à 20:46:52
Salut
je ne suis pas bon en shell script mais j'ai fait ca, ca a l'air de fonctionner ( les pros me corrigeront ! )
Effectivement, avec awk on peut s'en sortir.
Code :
|
Aucune vérif par contre, ca suppose 3 choses :
- virer le commentaire du début qui fout la merde je sais pas pourquoi ( je me retrouve avec le contenu de "ls /" dans la première ligne )
- job_type se trouve une ligne en dessous et pas sur la même ligne
- la ligne insert_job se trouve avant les lignes machine / alarm_if_fail / watch_file
Ca aurait pu se faire en perl ou en python également.
Marsh Posté le 06-07-2015 à 21:19:25
au final j'ai trouver, j'avait oublier que le Grep de Linux pouvait affichier les lignes suivant le paterne.
du coup j'ai fait une première boucle pour recuperer que els lignes avec mon patern, puis une 2nd, qui lit mon resultat de la 1er boucle, cherche le patern dans le fichier avec affichage de ligne supplementaires, qui sont gréppé elles aussi sur les champs que je veut
ca donne un truc fait a l'arache comme ca
Code :
|
vive le grep -A x
Marsh Posté le 06-07-2015 à 19:45:16
Bonjour
Je suis confronté a un soucis actuellement au boulot.
je doit rechercher, dans un fichier plus ou moins structuré, une info, ca avec grep, pas de soucis, par contre, il me faut aussi en retour d'autres informations.
Voici un exemple de scructure de mon fichier :
ma recherche porte sur le nom du job, via le champ insert_job.
je sais afficher ce champ. Par contre, il faut aussi que j'affiche, les champs machine, alarm_if_fail et watch_file, uniquement si ca correspond au insert_job que je recherche.
Avez vous une idée de comment faire ca ? je pensait a du awk, mais je ne maitrise pas asser.
Merci de votre aide.
---------------
Serveur HFR - OpenTTD