moc souboru

Jiri Polcar polcar na physics.muni.cz
Středa Říjen 8 15:14:48 MEST 2003


    Zdravim,

potrebuju skriptu predat moc (9500) souboru na vstup. Jejich jmena jsou
pro beh skriptu podstatna. Kdyz pustim nalsedujicim zpusobem:

    ls | grep result | xargs ./t.pl

nasledujici skript (t.pl):

    my $N = 0;

    while ( <> ) {
      if ( $. == 1 ) {
        $N++;
      }

    } continue {
      close ARGV if eof;
    }

    print "N=$N\n";


Perl se zachova ruzne, podle poctu souboru, ktere mu preda xargs. Kdyz
jich je malo (napr. 10), vypise jen:

    N=10

Kdyz jich je moc (9500), vypise:

    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=564
    N=476

( 16*564+476 = 9500 )


Vypada to, jakoby se kript poustel nekolikrat. Potiz je v tom, ze
sriptem vytvarim soubory, ktery se pri opakovanem spoustenim prepisuji.
Je to standrtni chovani, ktery musim obejit, nebo chyba? Vyresim to tak,
ze si soubory nejde skript sam, ale zajimalo by me, co se deje.

--
JP


Další informace o konferenci Perl