The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Perl: megnyitása filehandle, de nem kap semmit vissza belőle Mosolygó Dragon Shell programozás és Scripting 8 08-16-2008 03:40 AM
ls paranccsal nyomtatott fifo Tartalomjegyzék (vagy perl) jerardfjay Shell programozás és Scripting 1 04-06-2006 03:01 PM
Fájlok megnyitása saarshad001 A UNIX a dummies Kérdések és válaszok 3 11-28-2003 12:42 PM
Fájlok megnyitása AJA A UNIX a dummies Kérdések és válaszok 4 11-10-2003 11:25 AM
Nyitva Perl perleo Shell programozás és Scripting 2 08-26-2002 10:41 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 08-31-2008
Raynon Raynon is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Helyszín: Sg
Posts: 350
Fájlok megnyitása és ellenőrzése tartalma a Perl

Hi All,

Kell egy szakértő segítségével elvégzi az alábbi Perl.
Van egy kód alatt, de azt sem, nem úgy tűnik, hogy működik. Lehet bármely szakértő adjon nekem néhány tanácsot?

Az alábbiakban azok a követelmények
1) Open számos kijelölt fájlok egy tömb @ FILES. Megjegyzendő, hogy a fájlok mindig nevezték az "fajta". Példák az e-fájl neve az "false1_sorts", "false_sorts", "true1_sorts", "true_sorts" stb

2) Search for tartalmat "32N6524" a megnyitott fájlt. Ha tartalma van, add hozzá a fájlt egy másik tömböt amely @ arr_x. Itt a kép, hogy ez a tartalom áll true1_sorts "," true_sorts "


Kód:
#!/usr/bin/perl

@FILES = ( *sorts );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, '< $summary_x') or die $!;
                while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x)
                };
                close FH;
};
};


print "@arr_x ";

Várt kimenet:

false1_sorts false_sorts true1_sorts true_sorts
true1_sorts true_sorts

Last edited by Raynon; 08/31/2008 at 07:39 AM..
  #2 (permalink)  
Old 08-31-2008
era era is offline Forum Advisor  
Herder a Mihaszna Cicák (A szombati)
  
 

Join Date: Mar 2008
Helyszín: / ott / is / csak a / bin / sh
Hozzászólások: 3652
Ahhoz, hogy a glob karaktert használjuk <* fajták> helyett * féle amely valami egészen más, mint akarsz (akkor láttam, hogy van nyomtatva, mint fő *: féle ami globbed változó, nem globbed fájlnevet.
  #3 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Helyszín: Sg
Posts: 350
Szia Era,

Van hozzáadva <* fajták> de még ez (print "@ arr_x"nyilatkozatban sem; t kap kinyomtatják.
Tudna segíteni?



Kód:
#!/usr/bin/perl

@FILES = ( <*sorts> );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, '< $summary_x') or die $!;
                while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x)
                };
                close FH;
};
};


print "@arr_x ";

  #4 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Helyszín: Sg
Posts: 350
Szia, azt hiszem, tudom, hol van a hiba.
Hiányzik a duoble árajánlatot a nyitott nyilatkozat.

open (FH, "<$ Summary_x") Or die $!;
  #5 (permalink)  
Old 09-01-2008
Raynon Raynon is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Helyszín: Sg
Posts: 350
Szia Era,

Mi lenne, ha a szintaxis kell egyeztetnie a kifejezés, amely több szót például a "személyes FIILE".
Próbáltam, hogy a lenti kódot, de Nem, nem működik.
Tudna segíteni?


Kód:
if ( /MY PERSONAL FILE/ ) {
                       push (@arr_x, $summary_x)
                };

Tartalom a file "true_sorts" alatt van.
Úgy néz ki, mint ha a kifejezés akarok egyezés ne Az első sorban a tartalom, akkor nyertünk, nem lehet semmilyen egyezés.


Kód:
32N6524

MY PERSONAL FILE


Last edited by Raynon; 09/01/2008 at 10:56 PM..
  #6 (permalink)  
Old 09-02-2008
era era is offline Forum Advisor  
Herder a Mihaszna Cicák (A szombati)
  
 

Join Date: Mar 2008
Helyszín: / ott / is / csak a / bin / sh
Hozzászólások: 3652
Még a záró zárójel a rossz helyen, akkor lezárná elolvasása után egy sort belőle.

Segít, hogy a logika, ha következetesen francia egy szinttel mélyebb után nyitó zárójel, és csökkenti a behúzás a záró zárójel.


Kód:
#!/usr/bin/perl

@FILES = ( <*sorts> );
print "@FILES ";
print "\n";

foreach $summary_x ( @FILES ) {
        open(FH, "< $summary_x") or die $!;
        while( <FH> ) {
                chomp;      
                if ( /32N6524/ ) {
                       push (@arr_x, $summary_x);
		       last;
                }
	}
	close FH;
};


print "@arr_x ";

Azt tette hozzá a utolsó mint egy kis optimalizálás, de egyébként ez csak a zárójel átkerül a megfelelő helyre, és az egyetlen változás az idézőjelek idézőjelek, és kijavítsák behúzás.

A chomp nem feltétlenül szükséges, de talán akarjuk bővíteni a forgatókönyvet addig a pontig, ahol meg akarnak sorokat kell chomped.

Az egyeztetés a cucc a tereket, ez nem probléma.

Last edited by korszak; 09/02/2008 at 03:13 AM.. Ok: Megjegyzés on Haszontalan használata Chomp
  #7 (permalink)  
Old 09-02-2008
Raynon Raynon is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2006
Helyszín: Sg
Posts: 350
Szia Era,

Thks sok a tanácsot!
Most már tudom, hol vagyok rossz.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 07:01 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0