Anzeige:
Ergebnis 1 bis 7 von 7

Thema: sed-quotes im bashscript

  1. #1
    Registrierter Benutzer
    Registriert seit
    Sep 2006
    Beiträge
    3

    sed-quotes im bashscript

    Hallo,

    ich habe ein Problem ein einem Bashscript von mir.
    Ich möchte in regelmässigen Abständen (cron) ein logfile nach bestimmten Ausdrücken parsen.
    Weil das Logfile logischerweise immer größer wird, soll der Teil der schon durchsucht wurde nicht nochmal durchsucht werden.
    Wollte das mit sed realisieren.
    Hier ein Auszug:

    ZAHL1=50
    ZAHL2=100
    LINE=`sed -n '$ZAHL1\p,$ZAHL2\p' logfile | grep "suchbegriff"`

    Als fehlermeldung kommt:
    sed -n '$ZAHL1\p,$ZAHL2\p' logfile
    ++ grep suchbegriff
    sed: -e expression #1, char 3: extra characters after command

    Er kann also nicht die Variablen auflösen weil sie einfach gequotet sind. Leider verlangt sed die einfachen Quotes.


    Kann mir einer von euch einen Tip geben wie ich die Nuss geknackt bekomme?

    cu
    Geändert von KeePon (09.03.09 um 18:32 Uhr)

  2. #2
    Geiler Bock Avatar von Painkiller
    Registriert seit
    Jan 2002
    Ort
    bei Bremen
    Beiträge
    2.245
    Der sedbefehl sieht komisch aus, bist du sicher das der stimmt? Versuch mal sowas wie "head -n 100 | tail -n 50", das wirft auch die lines 50-100 aus, und ist wenn der Logfile nicht riesig ist, schneller als sed.
    In diesem Sinne:

    :D The Painkiller :D

    Warum willst du laufen, wenn du fliegen kannst?

    Beachtet zu diesem Posting bitte meine Allgemeinen Geschaeftsbedingungen

  3. #3
    Milchmann Avatar von m.o.o.
    Registriert seit
    May 2003
    Beiträge
    1.191
    Zitat Zitat von KeePon Beitrag anzeigen
    Er kann also nicht die Variablen auflösen weil sie einfach gequotet sind. Leider verlangt sed die einfachen Quotes.
    Das halte ich für falsch, versuch es mal mit
    Code:
    sed -n $ZAHL1,$ZAHL2"p" <file>
    .

    Gruß, Florian
    Sie können sich nicht auf Ihre eigene Ignorier-Liste setzen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Sep 2006
    Beiträge
    3
    Zitat Zitat von Painkiller Beitrag anzeigen
    Der sedbefehl sieht komisch aus, bist du sicher das der stimmt? Versuch mal sowas wie "head -n 100 | tail -n 50", das wirft auch die lines 50-100 aus, und ist wenn der Logfile nicht riesig ist, schneller als sed.
    der befehl hatte ein tippfehler. den hab ich nun korregiert.

    leider ist es ein logfile, welches riesig ist. wir reden hier über 16mio. zeilen!
    bevor jemand auf dumme gedanken kommt: das file wird alle 24h rotiert!



    Zitat Zitat von m.o.o. Beitrag anzeigen
    Das halte ich für falsch, versuch es mal mit
    Code:
    sed -n $ZAHL1,$ZAHL2"p" <file>
    muss hinter der ersten Vari nicht auch ein "p" ?
    ich werde das aber gleich mal probieren

  5. #5
    Milchmann Avatar von m.o.o.
    Registriert seit
    May 2003
    Beiträge
    1.191
    Zitat Zitat von KeePon Beitrag anzeigen
    muss hinter der ersten Vari nicht auch ein "p" ?
    Laut Manpage kommt p mit der Angabe eines Adressbereiches (address range) zurecht (du willst doch einen Bereich angeben?), also denke ich nein.
    Sie können sich nicht auf Ihre eigene Ignorier-Liste setzen.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Sep 2006
    Beiträge
    3

    Talking

    Vielen Dank für den Schups in die richtige Richtung, das funst super!

  7. #7
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    20.483
    Weil das Logfile logischerweise immer größer wird, soll der Teil der schon durchsucht wurde nicht nochmal durchsucht werden.
    evtl. solltest Du Dir mal logtail anschauen.

    http://linux.about.com/cs/linux101/g/logtail.htm
    Ich bin root - ich darf das.

Ähnliche Themen

  1. lm-sensors Debian kompilier Problem
    Von RTSX im Forum Kompilieren von Kernel und Sourcen
    Antworten: 3
    Letzter Beitrag: 05.07.07, 15:30
  2. LM_Sensors Installation
    Von TRFxHannibal im Forum System installieren und konfigurieren
    Antworten: 17
    Letzter Beitrag: 02.06.04, 14:06
  3. problem mit gentoo/emerge
    Von ZuXeZ im Forum System installieren und konfigurieren
    Antworten: 3
    Letzter Beitrag: 08.08.03, 19:26
  4. CPU-Temperatur
    Von BLUESCREEN3D im Forum Linux Allgemein
    Antworten: 86
    Letzter Beitrag: 23.06.03, 22:48
  5. qmail compilierungsprob
    Von compfreek im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 25.03.03, 07:17

Lesezeichen

Berechtigungen

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