Toon posts:

[C] Edit batch of txt files *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een C software port en die software is erg slordig geschreven.
Weet iemand misschien of er een tooltje bestaat waarme ik:

// commentaar kan vervangen voor /* commentaar */ (Ik wil ANSI C support behouden)
#include <dira\dirb\inc.h> kan vervangen voor #include <dira/dirb/inc.h> (originele OS was Windows en moet nu naar Linux omgeving)

De code is 5000 files groot en heb niet zo'n zin het met de hand te doen.
Ben begonnen met het schrijven van een C progje dat dit automatisch doet, maar dat valt me nog niet mee.

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Perl, of ff een klein c programmaatje, moet toch niet al te moeilijk zijn als je blijkbaar genoeg kennis aan boort hebt om aan zo'n groot project te beginnen ?

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

moto-moi schreef op 09 maart 2004 @ 09:28:
Perl, of ff een klein c programmaatje, moet toch niet al te moeilijk zijn als je blijkbaar genoeg kennis aan boort hebt om aan zo'n groot project te beginnen ?
Je kan zelfs een eenvoudig scriptje maken in VBScript.

[ Voor 11% gewijzigd door gorgi_19 op 09-03-2004 09:29 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

/* vervangen door // en #include <dira\dirb\inc.h> vervangen door #include <dira/dirb/inc.h> kan in elke willekeurige word processor :)

vervolgens moet je achter elke regel met /* nog ff */ zetten, maar dat is hooguit een paar minuten programmeerwerk :)

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

gorgi_19 schreef op 09 maart 2004 @ 09:29:
Je kan zelfs een eenvoudig scriptje maken in VBScript.
Hey, de topicstarter heeft het licht gezien, en gebruikt Linux, ga hem dan geen stomme Windows dingetjes aansmeren ;)
Verwijderd schreef op 09 maart 2004 @ 09:29:
/* vervangen door // en #include <dira\dirb\inc.h> vervangen door #include <dira/dirb/inc.h> kan in elke willekeurige word processor :)
vervolgens moet je achter elke regel met /* nog ff */ zetten, maar dat is hooguit een paar minuten programmeerwerk :)
Ik denk dat dat nog een heel werk gaat zijn met 5000 files, plus dat je, als je ermee bezig bent je jezelf een code-monkey gaat voelen ;)

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

moto-moi schreef op 09 maart 2004 @ 09:31:
[...]

Hey, de topicstarter heeft het licht gezien, en gebruikt Linux, ga hem dan geen stomme Windows dingetjes aansmeren ;)

[...]

Ik denk dat dat nog een heel werk gaat zijn met 5000 files, plus dat je, als je ermee bezig bent je jezelf een code-monkey gaat voelen ;)
ehm 8)7
ik zou zweren dat er net nog 5000 lines stond :?

naja, in dat geval heb ik niets gezegd :X

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

moto-moi schreef op 09 maart 2004 @ 09:31:
[...]

Hey, de topicstarter heeft het licht gezien, en gebruikt Linux, ga hem dan geen stomme Windows dingetjes aansmeren ;)
originele OS was Windows en moet nu naar Linux omgeving
Hij is nog niet over; hij mag het nu nog gebruiken.. :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Verwijderd schreef op 09 maart 2004 @ 09:35:
[...]

ehm 8)7
ik zou zweren dat er net nog 5000 lines stond :?

naja, in dat geval heb ik niets gezegd :X
Er stond altijd al 5000 files hoor.

Ik ben wel een beetje bekend met C, maar werk eigenlijk nooit met strings en files. Ook heb ik geen enkele ervaring met scripting languages als Perl, maar heb besloten om dit als een reden op te pakken om eens Python te gaan leren en het daarmee te doen. Leer ik er ook nog wat van..:-)
Maar als iemand nog een tooltje weet die dit kan houd ik me natuurlijk aanbevolen

Bedankt voor de reacties in ieder geval

Verwijderd

Textpad probeer dat eens.

.modbreak: fijn, leuk, kun je de volgende keer wat uitgebreider zijn ipv gewoon even te roepen waarmee iets kan? Dank u :)

[ Voor 76% gewijzigd door .oisyn op 09-03-2004 20:52 ]


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 09 maart 2004 @ 09:51:
Maar als iemand nog een tooltje weet die dit kan houd ik me natuurlijk aanbevolen
find & Ruby:

Save dit in een file op je hd:
Ruby:
1
2
$_.sub!( /(\/\/)(.*$)/) { "/*" + $2 + " */"}
$_.sub!( /\s*#include\s+(.*)/) { $&.gsub( /\\/, '/') }

Dit vervangt in elke regel '// iets' met '/* iets */' en in elke regel met '#include' wordt elke '\' vervangen door '/'. Dit zou prima moeten werken, je hebt alleen een probleem als je strings in je sources hebt die '//' bevatten.

Nu kun je met het volgende alle *.c en *.h bestanden bewerken. De originele bestanden worden bewaard als *.c.bak etc.
code:
1
2
cd /dir/met/sources
find -iname "*.[ch]" -exec ruby -p -i.bak /pad/naar/scriptje '{}' ';'

Ik ben natuurlijk niet verantwoordelijk als dit je pc in de fik zet :P

"He took a duck in the face at two hundred and fifty knots."


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 09 maart 2004 @ 09:35:
[...]

ehm 8)7
ik zou zweren dat er net nog 5000 lines stond :?

naja, in dat geval heb ik niets gezegd :X
Nounou, de code om recursief over een directory te loopen en iedere files met .c extensie te openen is toch inderdaad ook wel een schandalige 10 regels of zo groot. The horror! :D

Professionele website nodig?


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Vanavond kom ik met m'n Haskell oplossing ;)

  • schoene
  • Registratie: Maart 2003
  • Laatst online: 27-05 15:39
indien je nog in windows zit, kan je met ultraedit gemakkelijk search and replace doen in een folder, inclusief reg. ex.

Maar vergeet niet dat // bvb ook in een string kan voorkomen, en dan mag die niet vervangen worden

edit: whoops laatste opmerking is overbodig, had niet alle posts gelezen. sorry

[ Voor 16% gewijzigd door schoene op 09-03-2004 16:17 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:03
off-topic:
Glimi schreef op 09 maart 2004 @ 16:01:
Vanavond kom ik met m'n Haskell oplossing ;)
Ken jij dat gezegde: als je een hamer hebt, ziet elk probleem eruit als een spijker? :P

Ik zou zelf ook wat scripten in Perl of awk. Het hangt er een beetje vanaf waar je evaring mee hebt. Als je alleen C kan, is het natuurlijk ook zo geschreven in C, al denk ik dat dat niet direct de meest geschikte taal is.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Soultaker schreef op 09 maart 2004 @ 16:20:
off-topic:
Ken jij dat gezegde: als je een hamer hebt, ziet elk probleem eruit als een spijker? :P
offtopic:
Whehe, nou zo erg ben ik toch nog niet. Ik heb vanmiddag nog wat Java gemaakt ;)
Ik zal het je besparen dan (en ik kwam wat complicaties en tijdnood tegen :+) ;)
Pagina: 1