Admiral1 Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 (endret) *tekst fjernet pga jeg ikke trenger infoen lenger * ser gjerne at denne blir slettet/stengt mvh disco808 Endret 20. oktober 2006 av disco808 Lenke til kommentar
Giddion Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 Nei det går nok ikke ann, men det er 0 problem med andre språk, skript. Lenke til kommentar
Admiral1 Skrevet 19. oktober 2006 Forfatter Del Skrevet 19. oktober 2006 Muligheter for at noen mekker/viser ossen jeg gjør sånn at det jeg ber om skjer? mvh disco808 Lenke til kommentar
lnostdal Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 (endret) Muligheter for at noen mekker/viser ossen jeg gjør sånn at det jeg ber om skjer? mvh disco808 7107417[/snapback] CLISP og cl-ppcre (begge fungerer både under Linux og Windows): #!/usr/bin/env clisp ;; see http://clisp.cons.org/impnotes/quickstart.html (asdf:operate 'asdf:load-op :cl-ppcre) (defmacro awhile (result-symbol expr &body body) (let ((ret (gensym))) `(let ((,ret nil)) (do ((,result-symbol ,expr ,expr)) ((not ,result-symbol) ,ret) (setf ,ret ,@body))))) (with-open-file (ss (first ext:*args*)) (awhile line (read-line ss nil nil) (let ((p1 (subseq line 2 6)) (p2 (cl-ppcre:split "#|\\s" (subseq line 7)))) (format t "data from line: '~A', '~A', '~A'~%" p1 (first p2) (second p2))))) M$XXXX#872D23C25EDE820A993ED63AD773DDF1 YYYYYM$BBBB#972F23E25EDE320A093ES63AD873DPF1 AAAA M$BBBB#972F23E25E0aaoeuaoeu93ES63AD873DPF1 AAAA34ui M$BBBB#972F23E25EDE320A093EaoeuoaeuiueS63AD873DPF1 AAAA23u23ui lars@ibmr52:~/programming/lisp/clisp$ ./script2.lisp disco808.txt data from line: 'XXXX', '872D23C25EDE820A993ED63AD773DDF1', 'YYYYY' data from line: 'BBBB', '972F23E25EDE320A093ES63AD873DPF1', 'AAAA' data from line: 'BBBB', '972F23E25E0aaoeuaoeu93ES63AD873DPF1', 'AAAA34ui' data from line: 'BBBB', '972F23E25EDE320A093EaoeuoaeuiueS63AD873DPF1', 'AAAA23u23ui' edit: ser du bare var ute etter de på "yttersidene", men jeg har tatt med den "i midten" også - rop om du ikke greier å fjerne dette selv Endret 19. oktober 2006 av lnostdal Lenke til kommentar
Admiral1 Skrevet 19. oktober 2006 Forfatter Del Skrevet 19. oktober 2006 Der skjønte jeg desverre lite du Lenke til kommentar
Thor. Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 Notepad har en erstatt funksjon. Er det noe slikt du tenker på? Lenke til kommentar
lnostdal Skrevet 19. oktober 2006 Del Skrevet 19. oktober 2006 (endret) Der skjønte jeg desverre lite du 7107788[/snapback] ok, vel dette er umulig å få til med kun et batch-script .. så du må sette deg inn i et språk om du skal forstå dette språk som passer til denne type oppgaver er: * python * common lisp (dette er hva jeg brukte her) * perl * ruby ..vel, dette er de mest vanlige til slike oppgaver vil jeg tro.. edit: skal du jobbe med veldig store datamengder er common lisp raskest av disse - om du ønsker noe ennå raskere kan optimalisert C være ennå raskere i noen tilfeller (men C er et helvette å jobbe med; så drop C - optimaliser altid til sist) Endret 19. oktober 2006 av lnostdal Lenke til kommentar
backup Skrevet 20. oktober 2006 Del Skrevet 20. oktober 2006 Her har du et vbs-script som kanskje gjør jobben slik du vil ha det (skriver ut det under XXXX og YYYYY): Set fso = CreateObject("Scripting.FileSystemObject") Dim path1, path2, ar path1 = "C:\inn.txt" 'Sett inn inn-fila's adresse path2 = "C:\ut.txt" 'sett inn ut-fila's adresse Set innFil = fso.OpenTextFile(path1, 1) Set utFil= fso.OpenTextFile(path2, 2,true) Do While innFil.AtEndOfStream <> True c = innFil.readline ar = Split(c,"#") d = ar(0) ar = Split(d,"$") x = ar(1) 'XXXX/AAAA ar = Split(c," ") y = ar(1) 'YYYY/BBBB utFil.writeline x & " " & y Loop innFil.close utFil.close Lenke til kommentar
Anbefalte innlegg