ausgabe formatieren mit sed/grep??

Dieses Thema: "ausgabe formatieren mit sed/grep??" im Forum "Programmieren allgemein" wurde erstellt von SilverICE, 12.01.2004.

  1. #1 SilverICE, 12.01.2004
    SilverICE

    SilverICE Jungspund

    Dabei seit:
    12.01.2004
    Beiträge:
    10
    Zustimmungen:
    0
    hallo

    ich habe ein formatierungs problem

    ich lese von einem windowsserver die ip´s aus.. über ssh und wmic...

    ich habe 2 befehle um die information zu bekommen die ausgabe sieht wie folgt aus

    mit zeilenangabe:

    1. {"164.*.*.57"}
    2.
    3.
    4.
    5.
    6.

    mit dem anderen befehl sieht es wie folgt aus

    IPAddress={"164.*.*.57"}

    bei mehreren ip´s

    IPAddress={"164.*.*.57","164.*.*.56"}

    meine ausgabe soll aber wie folgt aussehen

    <NET_IP>
    <NET_IP> 164.*.*.57 </NET_IP>
    </NET_IP>

    bei mehreren ip´s

    <NET_IP>
    <NET_IP> 164.*.*.57 </NET_IP>
    <NET_IP> 164.*.*.56 </NET_IP>
    </NET_IP>

    kann mir wer helfen? ich weiß nicht weiter.. mit dem grep befehl bin ich gescheitert, ich denke ja mit sed geht es irgendwie... nur wie??

    danke schon mal
    cu silver
     
  2. Anzeige

    schau mal hier --> (hier klicken). Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. DaTa

    DaTa Grünschnabel

    Dabei seit:
    08.12.2003
    Beiträge:
    2
    Zustimmungen:
    0
    Probiers mal mit awk:
    Code:
    danielt:~/test> cat ips
    {"164.*.*.57"}
    {"164.*.*.56"}
    danielt:~/test> cat ips.awk 
    #!/usr/bin/awk
    
    BEGIN {
      print "<NET_IP>"
    }
    END {
      print "</NET_IP>"
    }
    
    {
      gsub("\{\"", "");
      gsub("\"\}", "");
      print "<NET_IP> " $0 " </NET_IP>";
    }
    danielt:~/test> awk -f ips.awk < ips
    <NET_IP>
    <NET_IP> 164.*.*.57 </NET_IP>
    <NET_IP> 164.*.*.56 </NET_IP>
    </NET_IP>
    
     
  4. #3 SilverICE, 13.01.2004
    SilverICE

    SilverICE Jungspund

    Dabei seit:
    12.01.2004
    Beiträge:
    10
    Zustimmungen:
    0
    hi danke für die antwort


    ich werde es gleich mal austesten..

    was mir aufgefallen ist, die ausgabe wenn mehreren ip´s vorhanden sind ist immer gleich

    IPAddress={"164.*.*.57","164.*.*.56"}

    alle ip´s stehen neben einander, werden allerdings von einem , getrennt :)
     
  5. #4 SilverICE, 15.01.2004
    SilverICE

    SilverICE Jungspund

    Dabei seit:
    12.01.2004
    Beiträge:
    10
    Zustimmungen:
    0
    hi meine ausgabe ist jetzt

    164.*.*.56 164.*.*.57

    wie bekomme ich das jetzt unter beachtung das es auch mehr ip´s sein können untereinander geschrieben?

    cu silver
     
  6. #5 mjup, 15.01.2004
    Zuletzt bearbeitet: 15.01.2004
    mjup

    mjup Tripel-As

    Dabei seit:
    20.05.2003
    Beiträge:
    229
    Zustimmungen:
    0
    Ort:
    BGLD
    Wieso nimmst du nicht den 1. Befehl, der 1. 10.*.*.* ausgibt? die ausgabe leitest du in ein file um. z.B.: Befehl > ipfile

    Dann schreibst du dieses script:

    #!/bin/bash
    # IPscript
    echo "<NET_IP>"
    awk '{print "<NET_IP> " $2 " </NET_IP>"}' ipfile
    echo "<NET_IP>"

    #!/bin/bash
    # IPscript
    echo "<NET_IP>"
    DeinBefehl | awk '{print "<NET_IP> " $2 " </NET_IP>"}'
    echo "<NET_IP>"




    Is doch ganz kurz und funkt wunderbar.

    Noch einfacher gehts natürlich so:
     
  7. #6 SilverICE, 15.01.2004
    SilverICE

    SilverICE Jungspund

    Dabei seit:
    12.01.2004
    Beiträge:
    10
    Zustimmungen:
    0
    wie gesagt unter beachtung das auch mehrere ip´s vorhanden sein können... dann hilft mir $2 nicht mehr... und schleifen will ich auch vermeiden..

    aber ich habe es hinbekommen mit xargs -n 1 und dann noch nen awk zu formatierung hinten dran..

    danke an alle

    cu
     
  8. mjup

    mjup Tripel-As

    Dabei seit:
    20.05.2003
    Beiträge:
    229
    Zustimmungen:
    0
    Ort:
    BGLD
    Bitte!

    Aber so wie du es aufgeschrieben hast, dibt der 1. befehl die IP's untereinander aus. also sehe ich da kein problem? Aber egal.
     
  9. #8 SilverICE, 16.01.2004
    SilverICE

    SilverICE Jungspund

    Dabei seit:
    12.01.2004
    Beiträge:
    10
    Zustimmungen:
    0
    stimmt war mein fehler .. falsche aussage sry
     
  10. mjup

    mjup Tripel-As

    Dabei seit:
    20.05.2003
    Beiträge:
    229
    Zustimmungen:
    0
    Ort:
    BGLD
    In meinem is trotzdem ein fehler, weil ich hab die klammern und anführungszeichen nich verschwinden lassen.

    Aber hauptsache du hast jetz ne Lösung!
     
Thema:

ausgabe formatieren mit sed/grep??

Die Seite wird geladen...

ausgabe formatieren mit sed/grep?? - Ähnliche Themen

  1. Ausgabe von wget formatieren

    Ausgabe von wget formatieren: Hallo, ich möchte in einem Skript die Ausgabe von wget formatieren. Genau genommen möchte ich aus dieser Ausgabe von wget (wget...
  2. Kurztipp: Unerwünschte grep-Ausgaben vermeiden

    Kurztipp: Unerwünschte grep-Ausgaben vermeiden: Selbst aus altbekannten Programmen kann man oft noch einiges mehr herausholen - man muss sich nur einmal gründlich mit ihnen auseinandersetzen....
  3. Ausgabe von mkdir -p wegwerfen

    Ausgabe von mkdir -p wegwerfen: Hallo, ich stehe gerade auf den schlauch. in meinen BASH Script lege ich mit mkdir -p ein verzeichnis an. Das Script gibt dann immer auf der...
  4. Unix Shell echo/ausgabe solange Bedingung ...

    Unix Shell echo/ausgabe solange Bedingung ...: Hallo liebe Unix User, da ich relativ neu bin, was Linux / Unix angeht stehe ich gerade komplett auf dem Schlauch! Problem: Aus mehreren...
  5. »Einführung in Tcl/Tk« in neuer Ausgabe

    »Einführung in Tcl/Tk« in neuer Ausgabe: Das Buch »Einführung in Tcl/Tk« wendet sich an Anfänger, die die Programmiersprache Tcl/Tk erlernen wollen. Der Titel kann kostenlos für die...