Lignes contenant lalala et lilili

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Je cherche à récuperer les informations issue d'un nmap -sS -p873 de la forme :

Interesting ports on 192.168.1.11:
PORT STATE SERVICE
873/tcp filtered rsync
MAC Address: xx:xx:xx:xx:xx:xx

Interesting ports on 192.168.1.14:
PORT STATE SERVICE
873/tcp closed rsync
MAC Address: xx:xx:xx:xx:xx:xx

Les information utiles que j'ai besoin de traiter sont l'ip et 873/tcp closed rsync, et j'ai besoin de les retrouver sous forme d'un tableau dont chaque ligne ferait :

Interesting ports on 192.168.1.11:873/tcp filtered rsync

il s'agit donc d'extraire 2 lignes de chaque "paragraphe", et de les coller l'une après l'autre

mais apparement grep ne permet pas des fonctions aussi poussée

Est-ce que quelqu'un verrait une solution ???

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Une solution avec "sed" :
    [tmpfs]$ cat fich
    Interesting ports on 192.168.1.11:
    PORT STATE SERVICE
    873/tcp filtered rsync
    MAC Address: xx:xx:xx:xx:xx:xx
    
    Interesting ports on 192.168.1.14:
    PORT STATE SERVICE
    873/tcp closed rsync
    MAC Address: xx:xx:xx:xx:xx:xx
    
    [tmpfs]$ sed -n '/ports/{h;n;n;s/.*\n//;H;x;s/\n//p}' fich
    Interesting ports on 192.168.1.11:873/tcp filtered rsync
    Interesting ports on 192.168.1.14:873/tcp closed rsync
    
    [tmpfs]$
    ;-))
    1
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Oups ;-\

    Une petite rectification ;
    sed -n '/ports/{h;n;n;H;x;s/\n//p}'
    est largement suffisant, le "s/.*\n//" du milieu ne sert à rien ;-(
    1
  3. Utilisateur anonyme
     
    Ouah tu m'impressionne jipicy

    tu connais drolement bien sed !!!

    merci beaucoup !!
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De rien ;-))
      0
  4. Utilisateur anonyme
     
    merci pour la doc,

    c'est pas mal fait en plus

    sed est vraiment polyvalent ; que dis-je , c'est à se demander ce que sed ne peux PAS faire ...

    :)
    0