Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Zeichen \x0D zu zeilenumbruch ersetzen

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496

    Zeichen \x0D zu zeilenumbruch ersetzen

    suche einfaches awk dingens was des macht
    habe keine ahnung wie des geht

    greetz

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    geht auch sed?

    \x0D ist ein Carriage Return... \x0A ist ein Linefeed bzw. Newline.

    unter Windows wird die kombination aus beiden benutzt, unter linux eigentlich nur das \x0A

    PHP-Code:
    echo -"\r\n" datei.txt
    cat datei
    .txt  #Datei mit \r\n ausgeben
    cat datei.txt sed -'s/\x0D/\n/' #\r durch \n ersetzen 


    für solche Fälle gibt es auch recode bzw. dos2unix

    hth, michael
    Geändert von michael.sprick (04-08-2005 um 14:49 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    ich habe es genauso versucht wie du es beschrieben hast, hat aber nicht geklappt (mac osx)
    aber ich habe ja eigentlich auch bash und sed, somti verwundert mich des schon..

    habe folgende sachen versucht:
    sed 's/\x0D/\n/g' test.tab > test.out
    sed 's/\x0D/\x0A/g' test.tab > test.out

    danach ein
    hexdump -C -n 100 test.out
    und siehe da, die gemeinen 0d's sind immernoch da...
    und der arme vim kann mit diesen od's ahlt nicht umgehen und sagt neol.. und zeigt halt alles in einer zeile an.

    bin ich zu blöd dafür? oder ist max osx's sed so dumm?
    greetz

  4. #4
    kmunix
    Gast
    Ausgangslage:

    echo "hallo welt\r\nguten Tag\r\n" > datei.txt

    Lösungen:
    1) col -b < datei.txt > datei.txt.unix
    Bem: es werden alle "PC"-Zeichen konvertiert.
    2) sed 's/.$//' datei.txt > datei.txt.unix
    Bem: Hier werden einfach die letzten Zeichen abgeschnitten. Also nur verwenden wenn alle Zeilen mit CR-LF enden.
    3) sed 's/^M//g' datei.txt > datei.txt.unix
    Bem: ^M zwingend durch [ctrl-v] [ctrl-m] erzeugen.

    ich hoffe ich konnte helfen

    //kmunix

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.08.2002
    Beiträge
    496
    hey super!!!
    des 3. hat fast geholfen
    nun habe ich kein zeichen mehr zwischen den einträgen.. vorher wars so:
    blablub^Mxxx
    nun:
    blablubxxx
    ich hätte es aber gerne so:
    blablub
    xxx

    edit:
    ich habe ja vielmehr des prob, dass mir vim einfach sagt no end of line und dann alles so anzeigt, mit den ^M will aber eigentlich einen \n sehen..
    grml

    greetz
    Geändert von quinte17 (12-08-2005 um 14:01 Uhr)

  6. #6
    kmunix
    Gast
    Was hälst du davon

    cat datei.txt | tr "\015" "\012" > datei.txt.unix

Lesezeichen

Berechtigungen

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