Spatie door tab vervangen in een file

Pagina: 1
Acties:
  • 348 views sinds 30-01-2008
  • Reageer

  • Nitroglycerine
  • Registratie: Januari 2002
  • Laatst online: 23:25

Nitroglycerine

Autisme: belemmering en kracht

Topicstarter
Ik ben bezig met het editten van onze DNS-file (met vi.... ze hebben geen tools ervoor) omdat alles door elkaar stond.

Met awk's, sorts e.d. heb ik nu een file gemaakt die zo goed als netjes op volgorde staat. Alleen heb ik bij het processen de tabs verloren, en er een spatie voor in de plaats gezet. Je raad het al: de tab wil ik terug.

Een regel uit het bestand ziet er bijv. als volgt uit:

alias IN A 192.168.0.1


Is het mogelijk met awk de " " doot een <tab> te vervangen? Cut heeft standaard een tab als delimiter... maar dat is geloof ik om regels te splitsen, niet om karakters te vervangen. Als het met sed kan is ook prima, alleen is mijn kennis daarvan minimaal (helaas..... wordt in de nabije toekomst verbeterd).

Hier kon uw advertentie staan


  • The Collector
  • Registratie: Januari 2000
  • Laatst online: 16-05 09:05
Met een hex-editor in het bestand alle 0x20 vervangen door 0x09 (of was TAB 0x08 !?!?)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Ehm, ja, dat kan met sed. Sed lust gewoon regexps, dus je kunt wat doen als "sed 'regexp' file > output-file".
Experimenteer eerst op een testfile :)

  • Nitroglycerine
  • Registratie: Januari 2002
  • Laatst online: 23:25

Nitroglycerine

Autisme: belemmering en kracht

Topicstarter
Ik ben eruit: cat <bestand> | awk '{print $1 "\t" $2 "\t" $3 "\" $4}' > <nieuwbestand>

bedankt voor de hulp!

Hier kon uw advertentie staan


Verwijderd

in python:

code:
1
2
3
4
5
inp=open('filename','r').read()
edited=string.replace(inp, ' ', '\t')
outp=open('newfile','w')
outp.write(edited)
outp.close()


edit:

OKOK, oneliner dan (untested):

[code]
open('output', 'rw').write(string.replace(open('filename','r').read(), ' ', '\t'))
[/code]

[ Voor 0% gewijzigd door Verwijderd op 23-08-2002 13:29 . Reden: te laat... ]


  • Hellhound
  • Registratie: Juli 1999
  • Laatst online: 09-05 10:53
Met de replace functie in ultra-edit kost je dit minder dan 1 sec.

Geloof maakt meer kapot dan je lief is | I rock [H]ard! |


  • Muppet
  • Registratie: Maart 2001
  • Laatst online: 10-09-2024

Muppet

GT: Beestig

onder linux met vi ?? of heb je ook ultra edit voor linux |:(

There is no art to find the minds construction in the face


Verwijderd

aaah... wat doen jullie moeilijk... :P
code:
1
unexpand (1)         - convert spaces to tabs

:)

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

Muppet schreef op 23 augustus 2002 @ 14:06:
onder linux met vi ?? of heb je ook ultra edit voor linux |:(
%s/ /\t/g

Who needs Ultra Edit ??
Pagina: 1