The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
sed: hitta match och ta bort raden ovan cstovall Shell-programmering och Skript 3 07-02-2008 11:31
Perl: Match en linje med flera sökmönster Juha Shell-programmering och Skript 10 04-09-2008 02:43
Flera linje match använda sed SiftinDotCom Shell-programmering och Skript 15 03-28-2008 02:12
läsa och matcha flera rader i Perl zx1106 Shell-programmering och Skript 5 03-14-2008 10:21
sed - Ersätt Line som innehåller Pattern match med en ny linje kousikan Shell-programmering och Skript 2 03-24-2007 07:24

 
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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-27-2008
user_prady user_prady is offline
Registered User
  
 

Join Date: Sep 2007
Inlägg: 163
Unhappy Om matchen hittade gå till en viss linje i perl

Hej expertkommitténs

Jag är nybörjare till perl, Bara nyfiken hur man gör följande i perl.
antar att jag har en txt-fil som nedan. när grundar "* Main Start"
Sedan gå till "* Main End ,,,,,,,," patteren och bara hämta numret från den tidigare linjen av "* Main End ,,,,,,," mönster. I mitt fall är det 5. Börja sedan excuting normalt från "* Main Start" ståndpunkt

Följande är bilden .. Jag vill inte skapa någon temp-fil också ..
Indatafil:

Kod:
*Init End
*Main Start
*Comment Reset Timers
000000,0000,0,0,0,0,0,1,0
000000,0000,0,0,0,0,1,1,0 
*Comment Control Frame at 1.04596 ms
000000,0400,0,0,0,0,1,0,1
2418A4,0000,0,1,3,0,0,0,0 
049C00,0000,0,0,2,0,0,0,0
*Comment Control Frame at 1.04673 ms
*Comment Control Frame at
000002,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000100,0000,0,0,2,0,0,0,0
*Comment Control Frame at
000004,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000000,0000,0,0,2,0,0,0,0
*Comment Frame 13 at ** us,,,,,,,,
000005,7E3D,0,0,0,0,1,0,1
*Main End,,,,,,,,

produktion:

Kod:
*Init End
*Main Start
 repeat(5);
process all lines as usual here.

............
*Main End,,,,,,,,,

Jag ve att skriva ut alla rader som när man hittade en rad som börjar med *. Er varför jag gör som nedan

Kod:
 if(m/^\*/){
              print "//", $_;
              next;
    }


Kod:
Basic Algorithm of my programme need :
1. If "*Main Start" pattern found go to line where Pattern matches "*Main end".
2. Get the previous line. and get the value of the first field.
3. Return to "*Main start" position again. & Print repeat(that number) : in my case it is 5 :
4. stop/next;

Någon hjälp mest uppskattad ..

hälsningar,
user_prady

Senast redigerad av user_prady; 03-28-2008 at 12:51..
 

Komihåglista

Taggar
perl, perl regex, perl skift, regex, växla, skift perl, Solaris

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 07:24.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0