sed macht mich wahnsinnig :-(

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Tommy_WY, 13.03.2009.

  1. #1 Tommy_WY, 13.03.2009
    Tommy_WY

    Tommy_WY Mitglied

    Dabei seit:
    03.06.2008
    Beiträge:
    28
    Zustimmungen:
    0
    hi @ all,

    ich möchte die in einer datei in einer zeile abgelegten werte (mit komma getrennt) in eine andere datei als spalten eintragen.
    data.txt enthält 1,2,3,4
    datb.txt soll dann so aussehen.
    1
    2
    3
    4
    also das komma durch eine neue zeile ersetzt.
    dazu hab ich mir den sed genommen, aber es will einfach nicht funzen
    ich nutze ksh und aix5.3
    so sieht der sed aufruf aus

    sed -e s/,/^n/g ${WD}/virt.properties > ${WD}/install.properties

    ich habs auch schon mit
    sed -e s/,/\n/g ${WD}/virt.properties > ${WD}/install.properties
    oder
    sed -e s/,/\\n/g ${WD}/virt.properties > ${WD}/install.properties

    probiert, aber ich bekomme den zeilenumbruch nicht hin

    ergebnisse der ausgabe
    1n2n3n4
    oder
    1^n2^n3^n4

    what ever, aber nicht das was ich möchte.

    für nen tip wäre ich echt dankbar... hab keine lust das mit ant-targets und regexp zu machen.

    die datei enthält nachher eine liste mit virtuellen portalen, in die eine anwendung bzw. die pages installiert werden sollen.

    gruss
    tommy
     
  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 floyd62, 13.03.2009
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Warum nicht einfach "tr" statt "sed"?
    Code:
    $ echo "1,2,3,4" | tr "," "\n"
    1
    2
    3
    4
    $
    
    Gruss
     
  4. #3 Tommy_WY, 13.03.2009
    Tommy_WY

    Tommy_WY Mitglied

    Dabei seit:
    03.06.2008
    Beiträge:
    28
    Zustimmungen:
    0
    merci, coole geschichte... klappt super
    danke danke.

    servus
     
  5. #4 Gott_in_schwarz, 13.03.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Hier funktionierts:
    Code:
    $ echo '1,2,3,4'|sed 's/,/\n/g'
    1
    2
    3
    4
    $ echo '1,2,3,4'|sed s/,/\\n/g
    1
    2
    3
    4
    $ sed --version
    GNU sed version 4.1.5
    Copyright (C) 2003 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
    to the extent permitted by law.
    $ $0 --version
    GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
    Copyright (C) 2005 Free Software Foundation, Inc.
    Welche shell(-Version) und sed-Version benutzt du?
     
  6. karru

    karru OSX'ler

    Dabei seit:
    02.05.2006
    Beiträge:
    338
    Zustimmungen:
    0
    :)
     
  7. Anzeige

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

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Welche Korn-Shell das genau ist, ist damit zwar nicht gesagt, aber ich würde mal hart darauf tippen, dass es an der verranzten sed-Version liegt.
    Da der OP allerdings keinerlei quoting probiert hat, könnte natürlich auch dort der Hase im Pfeffer begraben rotieren. (Wie ging das Sprichwort noch gleich?)
    perl for portability. Oder man könnte sich die gnu-Varianten der populären cli-tools holen. (Gibts laut wiki als RPM für AIX.)
     
  9. #7 Tommy_WY, 16.03.2009
    Tommy_WY

    Tommy_WY Mitglied

    Dabei seit:
    03.06.2008
    Beiträge:
    28
    Zustimmungen:
    0
    Wie bekomme ich raus, welche sed-Version wir auf der Maschine habe???
    Das Problem ist, dass ich nicht einfach etwas auf die Maschine bringen kann. Hab auch schon länger über Perl nachgegrübelt.
    Aber das tr hat mir schon super geholfen. Mit der ant-Erweiterung antcontrib hat dann alles super gefunzt. Da kann ich die Shellbefehle easy in das Tag <shellscript> einbauen, muss mich um keine Parameterübergabe kümmern und erhalte das gewünschte Ergebnis.

    Geiles Ding.
    Danke nochmals an alle.

    Sers
    Tommy
     
Thema:

sed macht mich wahnsinnig :-(

Die Seite wird geladen...

sed macht mich wahnsinnig :-( - Ähnliche Themen

  1. Das NAS macht mich nass...

    Das NAS macht mich nass...: Hallo Gemeinde ! Ich wende mich an Euch, da ich langsam nicht mehr wirklich weiter komme. Ich denke, so mancher von Euch wird mir vielleicht...
  2. Ausgabe macht immer noch was ich will und das macht mich echt traurig :-(

    Ausgabe macht immer noch was ich will und das macht mich echt traurig :-(: Hallöle ich kriegs nicht hin das er eine html oder Txt datei erzeugt in der auch ein Inhalt ist ---------- #!/bin/bash echo "Software"...
  3. Die Hitze macht mich fertig

    Die Hitze macht mich fertig: auch wenns niemand interessiert *gg die hitze bringt mich um. ich dachte ich zieh mich mal an und geh zähne putzen als mir aufgefallen ist...
  4. Suse macht mich fertig ;-)

    Suse macht mich fertig ;-): Hallo! Ich habe wie mehrere hier das Problem, dass nach der Installation von Suse 10 mein Bildschirm nicht mitspielt. Nach dem Booten bleibt er...
  5. Google Chrome macht das halbe Hundert voll

    Google Chrome macht das halbe Hundert voll: Chrome 50 wurde in den stabilen Release-Kanal übernommen und will die Ladezeiten von Webseiten mit einer Preload-Funktion verbessern. Weiterlesen...