Zeichenkette umwandeln?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von trainnee#1, 20.01.2009.

  1. #1 trainnee#1, 20.01.2009
    trainnee#1

    trainnee#1 Jungspund

    Dabei seit:
    15.01.2009
    Beiträge:
    20
    Zustimmungen:
    0
    Halli Hallo,

    habe mich bezüglich meines Problems schon schlau gemacht, jedoch hat bisher keine der Möglichkeiten bei mir Funktioniert.

    Also folgendes Problem:
    Ich habe eine Datei in der ein Dateiname mit Version steh:
    DATEINAME_version_1.2.3

    Nun möchte ich den Dateiname ändern und zwar komplett in kleinbuchstaben:
    dateiname_version_1.2.3

    Habe bereits folgende Möglichkeiten probiert:
    sed 's/DATEINAME/dateiname' datei1 > datei2

    sed 's/DATEINAME/dateiname' datei1 > datei2 ; mv datei2 datei1

    Leider war bisher immer die datei2 einfach leer.

    Was mache ich falsch? Bin noch Neuling auf dem Gebiet deswegen wäre ne gute erklärung hilfreich ;)

    Danke
     
  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. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    In dieser Syntax bekomme ich die Fehlermeldung 'sed: -e expression #1, char 21: unterminated `s' command'. Behebe ich das Problem, indem ich nach 'dateiname' noch einen abschliessenden '/' anfuege, macht der Befehl, was man von ihm erwartet.
     
  4. #3 trainnee#1, 20.01.2009
    Zuletzt bearbeitet: 20.01.2009
    trainnee#1

    trainnee#1 Jungspund

    Dabei seit:
    15.01.2009
    Beiträge:
    20
    Zustimmungen:
    0
    Ja das fehlende '/' habe ich nur hier vergessen ... in dem Script steht es schon richtig dort ... der Befehl wird ja auch ausgeführt aber datei2 immernoch ohne jeglichen Inhalt?!

    Ausserdem:
    Muss ich ne neue Datei anlegen um den inhalt zu ändern?
    Es würde auch reichen wenn in der datei1 die änderung vorgenommen wird und garkeine datei2 erstellt wird ...
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Nein, Du musst keine Datei anlegen. Kannst Du ein paar Zeilen von dem Skript um die betreffende Stelle herum mitschicken? Vielleicht liegt der Fehler nicht direkt hier.

    Klappt er bei Dir, wenn Du ihn direkt in einem Terminal eingibst?
    GNU sed kennt auch die Option '-i', mit der die Zeichenkette direkt innerhalb der betreffenden Datei geaendert wird, so dass Du den Umweg mittels 'mv' nicht benoetigst - wenn der Befehl denn dann mal funktioniert.
     
  6. #5 Gott_in_schwarz, 20.01.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Sry, aber das macht irgendwie überhaupt keinen Sinn. Wenn die "regex" der Substitution nicht matchen würde, wäre die Ausgabe einfach unverändert. Würde sie matchen, würde das Problem nicht wirklich existieren...

    Geht der Befehl denn, wenn du einfach auf stdout schreiben lässt?
    Welche shell benutzt du?
    Gib mal die Ausgabe folgender Befehle an:
    Code:
    $0 --version     # shell version
    sed --version    # drei mal darfst du raten
    Wenn du einfach nur alle Großbuchstaben in Kleinbuchstaben umwandeln willst, geht das btw auch einfacher mit tr:
    Code:
    echo FOObAr|tr '[:upper:]' '[:lower:]'
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. #6 saeckereier, 20.01.2009
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Mist, jetzt wollte ich gerade "tr a-z A-Z" vorschlagen..

    BTW: Ich find's genial, wie man hier immer wieder dazulernt, vor allem, dass die paar Befehle, die ich aus ABAP liebgewonnen habe im GNU/Linux meist dabei sind..
     
  9. #7 trainnee#1, 21.01.2009
    trainnee#1

    trainnee#1 Jungspund

    Dabei seit:
    15.01.2009
    Beiträge:
    20
    Zustimmungen:
    0
    Danke für eure Antworten ... habe es nun mit dem tr befahl gemacht ;)
     
Thema:

Zeichenkette umwandeln?

Die Seite wird geladen...

Zeichenkette umwandeln? - Ähnliche Themen

  1. Zeichenketten von Groß auf Kleinschreibung umwandeln

    Zeichenketten von Groß auf Kleinschreibung umwandeln: Hallo alle miteinander :) Ich habe hier ein kleines Problem mit der Manipulation von Variablen. Was ich erreichen möchte ist folgendes. Ich...
  2. Zeichenkette per Skript an shell übergeben

    Zeichenkette per Skript an shell übergeben: [gelöst]Zeichenkette per Skript an shell übergeben Hallo Leute, sitze momentan etwas ratlos vor einem Shell-Skript (Bin kompletter Anfänger...
  3. Zeichenkette per Shellskript ausschneiden

    Zeichenkette per Shellskript ausschneiden: Hallo, habe folgendes Problem : Ich möchte Dateien in Unterordner verschieben, abhängig von einer Zeichenkette im Dateinamen. Beispiel:...
  4. Zeichenkette mit Nullen auffüllen

    Zeichenkette mit Nullen auffüllen: Hallo zusammen, ich möchte in einem text-file nach Zeichenketten weniger als 14Zeichen suchen und die jeweiligen Zeichenkette mit führenden...
  5. noch eine zeichenkette^^

    noch eine zeichenkette^^: Hallo nochmal!:rolleyes: Wir haben leider noch ein Problem... nur eine andere Aufgabe^^: Aber auch hier gibt es einen segmentation fault......