Anzeige:
Ergebnis 1 bis 10 von 10

Thema: grep problem

  1. #1
    Registrierter Benutzer
    Registriert seit
    Oct 2004
    Beiträge
    11

    grep problem

    hallo,

    ich habe hier ein problem mit grep ich schaffe es nicht das hinzubekommen was ich möchte.

    ziel ist es in der ausgabe nach 2 sachen zu suchen und diese auszugeben:

    - <resultCode>0</resultCode>
    - Total_Time

    mein command bisher:

    Code:
     /usr/bin/curl -s -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: \"\"" -w Total_Time=%{time_total} -d @/usr/local/xxxx/xxxx/soapcheckoldapi.xml http://xxx.xxxxxxx.com/xxxxxxxxxx/ProxyAPI|grep "<resultCode>0</resultCode>"|grep "Total_Time";echo $?;
    leider geht da nicht viel die 0 wird ausgegeben aber keine zeitangabe.

    wer weiss rat?

    gruesse rene
    gruesse rene

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    Du pipest die Ausgabe von grep nach grep - und da nach dem 1. grep nur die Zeile mit dem <...>0<...> übrig bleibt - kommt die 2. Zeile nie zum Zug.

    Lösungsmöglichkeiten gibt's mehrere - je nach dem, wie die zu verarbeitenden Daten aufgebaut sind...
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Oct 2004
    Beiträge
    11
    naja, ich bekomme ohne grep eine riesen textausgabe. welche lösungsmöglichkeiten gibt es denn?

    was mich auch noch stutzig macht ist, dass ohne echo garnix ausgegebn wird.

    gruesse rene
    Geändert von rene04 (08.06.10 um 13:32 Uhr)
    gruesse rene

  4. #4
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    Kommt wie gesagt auf die Datei an - von mehrmals die komplette Ausgabe greppen, evtl. http://en.wikipedia.org/wiki/Tee_%28command%29, ...
    Ich bin root - ich darf das.

  5. #5
    Registrierter Benutzer
    Registriert seit
    Oct 2004
    Beiträge
    11
    stell dir die ausgabe als riesigen string vor. ich versteh nicht ganz wieso das wichtig ist. hast du nicht ein bsp wie ich aus einem riesen string 2 wörter suche und die zeilen entsprechend ausgebe? bei Total_Time hätt ich gerne nur die Zeitangabe.

    gruesse rene
    gruesse rene

  6. #6
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    Code:
    echo $riesenstring | grep wort1 ; echo $riesenstring | grep wort2
    sowas?

    Ach ja - es wäre nett, wenn Du die Infos, die man Dir gibt auch lesen würdest - ich unterstelle mal, in 4 Minuten war Dir das nicht möglich...
    Ich bin root - ich darf das.

  7. #7
    Registrierter Benutzer
    Registriert seit
    Oct 2004
    Beiträge
    11
    das wird so nix. ich kann den befehl nicht 2 mal hintereinander ausführen.

    Code:
    /usr/bin/curl -s -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: \"\"" -w Total_Time=%{time_total} -d @/usr/local/xxxx/xxxx/soapcheckoldapi.xml http://xxx.xxxxxxx.com/xxxxxxxxxx/ProxyAPI|grep "<resultCode>0</resultCode>"|grep "Total_Time";echo $?;
    das hier ruft eine website auf mit einem bestimmten soap call. das ergebnis wird mir als string geliefert. aus diesem string hätte ich gerne die zeitangabe von TotalTime=0,345 UND wüsste gerne ob da das <...>0</...> vorkommt.

    ich weiss echt nicht wie ich das angehen soll.

    ach ja, ich kann tee hier nicht gebrauchen. daher hab ichs auch nicht weiter gelesen.

    gruesse rene
    gruesse rene

  8. #8
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.061
    Ich glaube, Du kannst tee gebrauchen. Alternativ auch die Ausgabe von curl in einer Datei - oder einer Variable.

    Aber egal, Du wirst es schon auch anders schaffen. Viel Spaß noch.
    Ich bin root - ich darf das.

  9. #9
    Milchmann Avatar von m.o.o.
    Registriert seit
    May 2003
    Beiträge
    1.192
    Hi,

    Code:
    $ echo -e "Hallo\nWelt\nGute\nNacht"|grep -i '\(hallo\)\|\(Nacht\)'
    Hallo
    Nacht
    Gruß, Florian
    Sie können sich nicht auf Ihre eigene Ignorier-Liste setzen.

  10. #10
    Who's Johnny? Avatar von L00NIX
    Registriert seit
    Mar 2004
    Beiträge
    1.229
    Code:
    echo bla | grep -E -e "$pat1" -e "$pat2" -e "$pat3" ...
    Das -E für die viel einfacheren extended RegExps, da spart man sich viel hässliches Escape und die vielen -e für ein weiteres Pattern.

    Auch noch nett sind -A <zeilen> und -B <zeilen> für die Ausgaben von <zeilen> After (nach) als auch Before (vor) der Zeile mit gematchten Suchmuster.

    Gruß
    L00NIX
    Geändert von L00NIX (09.06.10 um 20:32 Uhr)

Ähnliche Themen

  1. Log-Skript: Suche nach Datum
    Von audience im Forum Linux als Server
    Antworten: 10
    Letzter Beitrag: 06.08.09, 13:27
  2. OpenSuse 10.3, 11 und Samsung Q45 PRO/Wireless 3945ABG
    Von Zwerg2003 im Forum Mobiles Linux, Notebook, PDA
    Antworten: 9
    Letzter Beitrag: 25.06.08, 13:10
  3. Problem mit SMTP SASL Auth
    Von HorusMS im Forum Linux als Server
    Antworten: 8
    Letzter Beitrag: 12.10.06, 19:18
  4. Screen Problem
    Von Metus im Forum Dedizierte Spiele Server
    Antworten: 2
    Letzter Beitrag: 24.05.05, 14:05
  5. Seltsames Problem mit XFree86 4.0.1
    Von niggo im Forum X-Konfiguration
    Antworten: 4
    Letzter Beitrag: 22.01.02, 21:59

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •