Aller au contenu

[Résolu][script] besoin d'un coup de patte en bash


tyrann27

Messages recommandés

Hello amis scriptiens ! (ça existe? :zzz:)

J'ai besoin pour le taf de faire du grep récursif dans une arborescence.

Ce sont des codes sources et voici 2 exemples de ce que je peux avoir besoin de trouver :

callnat 'prog1' param1 param2 param3

ou

callnat 'prog1'
	  param1
	  param2
	  param3

Et évidemment le but de ma recherche est de trouver les param* qui sont utilisés dans les sources...

pour résumer, je cherche d'abord param2 (par exemple) puis je grep sur callnat (c'est ça que je cherche principalement). Le truc c'est que dans le 2ème cas, param2 est pas sur la même ligne donc il sortira pas...

J'ai donc adapté mon grep pour faire un grep -A 5 (5 pour la sécurité du nombre de paramètres) et donc j'aurai mes résultats séparés par des lignes contenant --

Le truc c'est qu'après je voudrais coupler tout ça pour que tout ce qui est entre les -- se retrouvent sur la même ligne afin de faire le grep sur le callnat...

En gros, quand je trouve par exemple :

/chemin/du/fichier/monfichier.ext:3450Callnat 'prog1'
/chemin/du/fichier/monfichier.ext:3460Param1
/chemin/du/fichier/monfichier.ext:3470Param2
/chemin/du/fichier/monfichier.ext:3480Param3
/chemin/du/fichier/monfichier.ext:3460blablabla
/chemin/du/fichier/monfichier.ext:3460blablablaaaaaa
--
/chemin/du/fichier/monfichier.ext:3450Callnat 'prog2'
/chemin/du/fichier/monfichier.ext:3460Param2
/chemin/du/fichier/monfichier.ext:3470Param7
/chemin/du/fichier/monfichier.ext:3480Param8
/chemin/du/fichier/monfichier.ext:3460blablablaaaaaaaaaaa
/chemin/du/fichier/monfichier.ext:3460blablablaaaaaabbbbbbbbbbb

Il faudrait que je puisse les remettre ensembles sur une ligne...

Genre :

/chemin/du/fichier/monfichier.ext:3450Callnat 'prog1'/chemin/du/fichier/monfichier.ext:3460Param1/chemin/du/fichier/monfichier.ext:3470Param2/chemin/du/fichier/monfichier.ext:3480Param3/chemin/du/fichier/monfichier.ext:3460blablabla/chemin/du/fichier/monfichier.ext:3460blablablaaaaaa
--
/chemin/du/fichier/monfichier.ext:3450Callnat 'prog2'/chemin/du/fichier/monfichier.ext:3460Param2/chemin/du/fichier/monfichier.ext:3470Param7/chemin/du/fichier/monfichier.ext:3480Param8/chemin/du/fichier/monfichier.ext:3460blablablaaaaaaaaaaa/chemin/du/fichier/monfichier.ext:3460blablablaaaaaabbbbbbbbbbb

Vous voyez ce que je veux dire ?

Ou alors si vous avez une meilleure idée... Je suis preneur également :|

Merci d'avance !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...