Toon posts:

Textfiles met ^M vervangen door newline \n

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet alstjeblieft iemand een oplossing voor dit hinderlijke probleem waar ik elke keer tegenaan loop als ik files van die mac en windowskneuzen hier krijg, dat je overal ^M in plaats van een newline hebt staan? Hoe kan ik dit doen?
Weet iemand hoe je ^M noemt in een reguliere expressie om 'm te vervangen? Of hoe kan ik het met 'tr' doen? ik kom er echt niet uit.

Verwijderd

Is ^M niet de binary variant van het ASCII-teken '\n'? Je moet die files dus niet als binary maar als ascii opslaan.

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 11:26
Er is een tooltje beschikbaar onder vrijwel alle OS's dat dos2unix / unix2dos heet en files/directories met zulke bestanden automatisch afwerkt.

  • imdos
  • Registratie: Maart 2000
  • Laatst online: 05-08 12:09

imdos

I use FreeNAS and Ubuntu

Het kan met tr, alleen weet ik niet hoe dat werkt!

Ik heb gister zelf met dit probleem gestoeid en vond dat je dos2unix en unix2dos had. Op fresmeat is een programma hd2u ofzo die als je het compileert een dos2unix programma maakt waarbij je met "dos2unix --d2u filename" alle ^M's eruithaalt en met "dos2unix --u2d filename" ze weer terugzet!

edit:

je kan ook hele directories tegelijk doen btw! maar lees de bijgevoegde README even door en je komt er dan vast wel uit ( of de man page )

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

Op donderdag 26 juli 2001 15:39 schreef botervloot het volgende:
Weet alstjeblieft iemand een oplossing voor dit hinderlijke probleem waar ik elke keer tegenaan loop als ik files van die mac en windowskneuzen hier krijg, dat je overal ^M in plaats van een newline hebt staan? Hoe kan ik dit doen?
Weet iemand hoe je ^M noemt in een reguliere expressie om 'm te vervangen? Of hoe kan ik het met 'tr' doen? ik kom er echt niet uit.
^M = \r (carriage return)

Zo doe ik het wel eens voor een enkel text bestand:

DOS -> Unix ( \r\n -> \n )
code:
1
tr -d '\r' < dos.txt > unix.txt

MAC -> Unix ( \r -> \n )
code:
1
tr '\r' '\n' < mac.txt > unix.txt

  • Aaargh!
  • Registratie: Januari 2000
  • Laatst online: 19-08 10:34

Aaargh!

Bow for me for I am prutser

recode ibmpc..Latin-1 <filename>

Those who do not understand Unix are condemned to reinvent it, poorly.

Pagina: 1