![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen! |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Til at parse gennem fil og print output ved hjælp awk eller sed script | cdfd123 | Shell Programmering og Scripting | 4 | 03-03-2008 12:07 PM |
| parse tekstfil | craggm | Shell Programmering og Scripting | 9 | 02-27-2007 02:13 AM |
| parse tekstfil | klick81 | Shell Programmering og Scripting | 3 | 12-18-2006 12:04 PM |
| Parse Tekstfil og sende mails | Amruta Pitkar | UNIX for dummyer Spørgsmål & svar | 12 | 08-11-2006 04:56 AM |
| Sådan parse en tekstfil med \ 034 som område og \ 035 i slutningen af besked afgrænsningstegn? | indianya | Shell Programmering og Scripting | 1 | 08-26-2005 10:20 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
parses gennem en tekstfil og output mange
Hej, alle
Inddatafilen mønster er som nedenfor: Begynd Object1 txt1 ende ; Begynd Object2 txt2 ende ; ... Jeg ønsker at analysere dette en fil i Object1.txt, Obeject2.txt ... hver indeholder en erklæring fra 'Begynd' til ';', f.eks object1.txt indeholder: Begynd object1 txt1 ende ; --------------------------- Nogen tanker? også, Questions 1. enhver AWK eller SED kan søge efter et mønster på tværs af mange linjer? 2. hvordan kan jeg output mange filer? 3. Skal jeg flytte denne tråd til "Shell Programmering og scripting"? På forhånd tak ![]() |
|
||||
|
Hvis du bruger bash Du kan prøve noget som dette, meget enkelt og sikkert masser af faldgruber. Men da Du er behandling kildekode der er syntaktiske regler, som kan forventes at blive fulgt. Det simpelthen kontrol for Begynd ord og spring filnavnet indeks, når stødt på. Code:
lakris@ubuntu:~/projekt/scripts$ cat projekt.txt Begin Object1 txt1 end ; Begin Object2 txt2 end ; Begin Object3 txt3 end ; Begin Object4 txt4 end ; lakris@ubuntu:~/projekt/scripts$ cat splitit.sh #!/bin/bash cnt=0 while read line;do [[ "$line" =~ "Begin" ]] && cnt=$(($cnt+1)) echo $line goes into Object$cnt.txt done < projekt.txt lakris@ubuntu:~/projekt/scripts$ ./splitit.sh Begin Object1 goes into Object1.txt txt1 goes into Object1.txt end goes into Object1.txt ; goes into Object1.txt Begin Object2 goes into Object2.txt txt2 goes into Object2.txt end goes into Object2.txt ; goes into Object2.txt Begin Object3 goes into Object3.txt txt3 goes into Object3.txt end goes into Object3.txt ; goes into Object3.txt Begin Object4 goes into Object4.txt txt4 goes into Object4.txt end goes into Object4.txt ; goes into Object4.txt lakris@ubuntu:~/projekt/scripts$ Change "går ind" til ">>", når du er sikker på, at produktionen er hvad du ønsker. Det vil tilføje til en vilkårlig fil med dette navn, så du måske ønsker at fjerne ethvert objekt *. txt først. / Lakris |
|
||||
|
da den første Begin erklæring (aaaaa) ender i Object1.txt den anden (bbbbbb) i Object2.txt osv. Vil du have dem med navnet Object-aaaaa.txt, Object-bbbbbb.txt etc?
Tag et kig på den, mens læse linje konstruere. Du kan dele det op for at læse mere end en variabel ... eller Du kan behandle linje som en matrix. ![]() |
|
||||
|
Citat:
Tak |
![]() |
| Bogmærker |
| Tags |
| linux, ubuntu |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|