Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.68 KB | None | 0 0
  1. @listaDatoteki = `ls -al --full-time`;      # Rezultatot od `ls -al` go cuvame vo niza. Dodavame --full-time zname
  2.                             # za da go otpecati datumot vo posakuvaniot format.
  3. if ($ARGV[1] eq "-d"){
  4.     $datoteka = "status.txt";           # Imeto na datotekata koja shto ja kreirame.
  5.  
  6.     open FILE, '>'.$datoteka;           # Preku Open se kreira datotekata ako ne postoi. Ako pak postoi, samo se otvara.
  7.  
  8.     @nizaDatoteki = ();
  9.  
  10.     $i = 0;
  11.     print "Kreirani datoteki: \n";
  12.     foreach(@listaDatoteki){             # Za sekoj red od nizata, site elementi na toj red gi smestuvame vo posebna niza.
  13.         @red = split /\s+/, @listaDatoteki[$i];  # Split na momentalniot red od nizata spored s+.
  14.                              # "s+" oznacuva edno ili poveke prazni mesta.
  15.         print "@red[5]\n";               # Pecatenje na datumot.
  16.         $i++;
  17.     }
  18.  
  19.     close FILE;
  20.  
  21.    
  22.     opendir(datoteka, "$ARGV[0]");
  23.         print "\nVleznata datoteka gi sodrzi slednite datoteki:\n";
  24.         while (my $f = readdir(datoteka)) {
  25.             print "$f\n";
  26.         }
  27.     closedir(datoteka);
  28.  
  29.  
  30. }
  31.  
  32. elsif($ARGV[1] eq "-f"){             # Znamenceto -f.
  33.     @nizaDatoteki = ();
  34.  
  35.     $i = 0;
  36.     %nizaDatumi = {};
  37.     shift @listaDatoteki;             # Go otstranuvame prviot red od ls -al, "total bla bla".
  38.     foreach(@listaDatoteki){             
  39.         @red = split /\s+/, @listaDatoteki[$i];  
  40.         if( exists $nizaDatumi{$red[5]}){               #Ako postoi datumot vo nizata, inkrementirame broj na datoteki za toj datum
  41.                     $nizaDatumi{$red[5]} = $nizaDatumi{$red[5]} + 1;       
  42.        
  43.         }
  44.         else{
  45.             $nizaDatumi{$red[5]} = 1;                   # Ako ne postoi, inicijalizirame.
  46.         }
  47.         $i++;
  48. }
  49.  
  50. while( my ($datum, $datoteka) = each %nizaDatumi ) {
  51.   print "$datum: $datoteka \n";
  52.  
  53. }
  54. }
  55.  
  56. else{
  57.     print "Ne odbravte zname.\n";
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement