![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| hvordan man kan flytte filen pointer til en bestemt linje i C | user_prady | Højtstående Programmering | 7 | 03-27-2008 12:32 AM |
| returnere de foregående linje | user_prady | Shell Programmering og Scripting | 12 | 12-18-2007 07:37 AM |
| hvordan man kan gå foregående linje i vim | useless79 | UNIX for Advanced & Ekspertsøgning Brugere | 2 | 09-16-2007 09:10 AM |
| søge og hente foregående linje i filen | paulsew | Shell Programmering og Scripting | 2 | 02-23-2007 08:04 AM |
| Foregående dags dato i Perl? | rajus19 | Shell Programmering og Scripting | 4 | 07-18-2006 01:40 AM |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
||||
|
Perl, hvordan man flytter pointeren til foregående linje i en txt-fil?
Jeg har en tekstfil, der har tekstblokke. Hver blok starter med # # # og slutter med End_ # # #.
Jeg skrev en perl script for at søge efter en streng fra linie 2 (ignorere enhver linje starter med # # #) for hver blok hvis matchet, nødt til at udskrive, at hele blokken. Ifølge de inddatafil nedenfor, vil det udskrive blokke, # 02, # 04, # 05. Her er mit spørgsmål, jeg har ingen problemer med at matche SEARCH_STR, men når spillet, hvordan flytter jeg tilbage foregående linjer? fx i blok # 02, handler i linje 3, men jeg har brug for at udskrive linjer 1 & 2. Thanks in advance for any help! MY SCRIPT: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d #! / 46020/local/bin /perl -w # if ($ # ARGV! \u003d 0) ( print "Du skal angive et søgekriterier. \ n"; exit; ) my $ query \u003d $ ARGV [0]; my $ input \u003d "/ mypath / inputFILE.txt"; min $ linje; my $ tag \u003d 0; my @ resultater \u003d (); open (FILE, "<$ INPUT") or die "Kan ikke åbne '$ input' file: $!"; while ($ line \u003d <file>) ( næste if ($ line \u003d ~ / ^ # [0-9] [0-9] .* - / | | $ line \u003d ~ / ^ \ s *$/); if ($ line \u003d ~ / $ query / i) ( $ tag \u003d 1; ) if ($ line \u003d ~ / ^ End_ # / & & $ tag \u003d\u003d 1) ( push (@ resultater, $ line) if ($ tag \u003d\u003d 1); $ tag \u003d 0; ) push (@ resultater, $ line) if ($ tag \u003d\u003d 1); ) tæt (FILE); print "@ resultater \ n"; exit; Inddatafilen: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d # 01 - blok startlinjen her noget tekst her mere tekst her flere linjer flere linjer flere linjer End_ # 01 # 02 - blok startlinjen her noget tekst her indeholder linjen SEARCH_STR og noget flere linjer flere linjer End_ # 02 # 03 - blok startlinjen her noget tekst her mere tekst her flere linjer flere linjer flere linjer End_ # 03 # 04 - blok startlinjen her noget tekst her flere linjer flere linjer Det SEARCH_STR er her, og noget noget tekst her flere linjer flere linjer flere linjer End_ # 04 # 05 - blok startlinjen her noget tekst her flere linjer Det SEARCH_STR er her, og noget flere linjer End_ # 05 # 06 - blok startlinjen her noget tekst her mere tekst her flere linjer flere linjer flere linjer End_ # 06 |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|