kleines sed problem

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von knumskull, 26.10.2006.

  1. #1 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    Moin,

    habe eine Zeile die ungefähr folgendermaßen aussieht.

    Code:
    abcdefgh123 -t 06123456 hhffgrhdj1312
    aus dem Konstrukt möchte ich die stelle

    Code:
    -t 06123456
    herauskopieren, das -t durch -a ersetzen und die zahlenfolge wieder anfügen. das am ende halt

    -a 06123456 in einer Variable steht.

    folgenden Lösungsansatz habe ich bis jetzt, jetzt hänge ich allerdings und weis nicht in welcher Form ich fortfahren soll. Könnt ihr mir Tipps geben?

    Code:
    sed 's/-t.[0-9]\{8\}/-a/'
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    oder kurz anders, wie kann ich zum Beispiel die Sachen, die ich da rausfiltere in eine Variable schreiben. Und dann kann ich ja danach nochmal mit sed ran.

    Code:
    sed 's/-t[[:space:]][0-9]\{8\}/ /'
    das liefert, bzw enthält ja den ausdruck -t 06123456. Wie kann ich den jetzt weiterverarbeiten.
     
  4. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo knumskull

    Ich verstehe nicht ganz was du machen willst, entspricht das etwa dem was du willst?
    Code:
    sed 's/\-t\(.[0-9]\{8\}\)/-a\1/'
    Gruss
    d22
     
  5. #4 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    also was ich am ende genau haben will ist folgendes

    Code:
    -a 06123456
    in einer Variablen
     
  6. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Ahso, stand grad aufm Schlauch, sry...
    Code:
    export variable=$(sed 's/.*-t\(.[0-9]\{8\}\).*/-a\1/' infile.txt)
    das sollte klappen...

    Gruss
    d22
     
  7. #6 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    klappt perfekt. danke dir.

    Gruß Steffen
     
  8. #7 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    habe grad irgendwie wieder nen kleines Problemchen.

    Code:
    echo $@ > /tmp/vTime.tmp
    
    vTimeTmp=$(sed 's/.*-t\([[:blank:]][0-9]\{8\}\).*/-a\1/' /tmp/vTime.tmp)
    if [ `$vTimeTmp | grep -e '-a[[:blank:]]'` ] ; then
            vTime=$vTimeTmp
            shift
            shift
    fi
    also die sachen in der if-abfrage, soll halt auch nur ausgeführt werden, wenn dieser vorher ausgefilterte "-t 06123465" string auftaucht. Wie weiter?
     
  9. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo

    Wenn du so machst:
    Code:
    vTimeTmp=$(sed -n 's/.*-t\([[:blank:]][0-9]\{8\}\).*/-a\1/ p' /tmp/vTime.tmp)
    ist die Variable 'vTimeTmp' nur voll wenn 'sed' 'gematcht' hat...

    jetzt kanst du mit [ -n $vTimeTmp ] testen...

    Gruss
    d22
     
  10. #9 knumskull, 26.10.2006
    Zuletzt bearbeitet: 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    klappt irgendwie nicht ganz

    beim aufruf
    Code:
    -bash-3.00$ abq651_32_single_1 -t 10261100 Testjob.inp
    Your job 141467 ("Testjob") has been submitted.
    -bash-3.00$ abq651_32_single_1 Testjob.inp
    Usage: /opt/n1ge6/bin/abq651_32_single_1 inputfile args ...
    
    also grob gesagt, wenn der -t parameter nicht mit angegeben wird, kommt der fehler. und wenn ich jetzt nochmal nen "echo $vTimeTmp" ausgebe, in der Klammer dann kommt folgender auswurf

    Code:
    -bash-3.00$ abq651_32_single_1 Testjob.inp
    
    Usage: /opt/n1ge6/bin/abq651_32_single_1 inputfile args ...
    

    /edit!!
    hab meinen Fehler gefunden. Danke nochmal der schnellen antwort. Es geht jetzt
     
  11. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Freut mich wenns klappt, wo war denn der Fehler?
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 knumskull, 26.10.2006
    knumskull

    knumskull Foren As

    Dabei seit:
    22.09.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Ort:
    Braunschweig
    hatte

    if [ n $vTimeTmp ] anstatt if test -n ... :)

    klarer fall von Müdigkeit und so *g*
     
  14. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    ;) solche Fehler sind die mühsamsten...
    Kenn ich nur zu gut

    Gruss
    d22
     
Thema:

kleines sed problem

Die Seite wird geladen...

kleines sed problem - Ähnliche Themen

  1. Kleines Rsnapshot/Cron Problem

    Kleines Rsnapshot/Cron Problem: Hallo! Ich mache mit rsnapshot backups von meiner Festplatte auf eine externe Festplatte und habe deshalb no_create_root 1 gesetzt, damit eben...
  2. kleines vergleichsproblem

    kleines vergleichsproblem: Hallo Ich möchte eine Liste mit Dateinamen mit einem Ordnerinhalt vergleichen und die Dateien, die sich nicht im Ordner befinden in eine logdatei...
  3. Neues Notebook -> kleines Problem *ups*

    Neues Notebook -> kleines Problem *ups*: guten tag :) also ich habe heute mein neues Notebook bekommen und hab erst mal aus Frust wegen Windows Vista Ubuntu 7.10 installiert... was...
  4. Noch ein kleines Problem mit apt-get update

    Noch ein kleines Problem mit apt-get update: Kann mir jemand die Fehler erklären und wie man das abstellt. OK http://ftp.de.debian.org etch/non-free Packages 99% [8 Packages bzip2 0]...
  5. Kleines Problem mit Istanbul.....

    Kleines Problem mit Istanbul.....: Hallo, ich habe mal wieder ein kleines Problem :brav: Folgendes ich möchte ein kleines Video von meinem Desktop auf nehmen und ich möchte das...