The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 01-24-2008
tqlam tqlam is offline
Registreret Bruger
  
 

Join Date: Jul 2004
Stillinger: 12
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
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 06:27 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0