kleines sed problem

Diskutiere kleines sed problem im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Moin, habe eine Zeile die ungefähr folgendermaßen aussieht. abcdefgh123 -t 06123456 hhffgrhdj1312 aus dem Konstrukt möchte ich die stelle...

  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 diesen Ratgeber 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 in dieser Kategorie etwas passendes.
    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...