Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @listaDatoteki = `ls -al --full-time`; # Rezultatot od `ls -al` go cuvame vo niza. Dodavame --full-time zname
- # za da go otpecati datumot vo posakuvaniot format.
- if ($ARGV[1] eq "-d"){
- $datoteka = "status.txt"; # Imeto na datotekata koja shto ja kreirame.
- open FILE, '>'.$datoteka; # Preku Open se kreira datotekata ako ne postoi. Ako pak postoi, samo se otvara.
- @nizaDatoteki = ();
- $i = 0;
- print "Kreirani datoteki: \n";
- foreach(@listaDatoteki){ # Za sekoj red od nizata, site elementi na toj red gi smestuvame vo posebna niza.
- @red = split /\s+/, @listaDatoteki[$i]; # Split na momentalniot red od nizata spored s+.
- # "s+" oznacuva edno ili poveke prazni mesta.
- print "@red[5]\n"; # Pecatenje na datumot.
- $i++;
- }
- close FILE;
- opendir(datoteka, "$ARGV[0]");
- print "\nVleznata datoteka gi sodrzi slednite datoteki:\n";
- while (my $f = readdir(datoteka)) {
- print "$f\n";
- }
- closedir(datoteka);
- }
- elsif($ARGV[1] eq "-f"){ # Znamenceto -f.
- @nizaDatoteki = ();
- $i = 0;
- %nizaDatumi = {};
- shift @listaDatoteki; # Go otstranuvame prviot red od ls -al, "total bla bla".
- foreach(@listaDatoteki){
- @red = split /\s+/, @listaDatoteki[$i];
- if( exists $nizaDatumi{$red[5]}){ #Ako postoi datumot vo nizata, inkrementirame broj na datoteki za toj datum
- $nizaDatumi{$red[5]} = $nizaDatumi{$red[5]} + 1;
- }
- else{
- $nizaDatumi{$red[5]} = 1; # Ako ne postoi, inicijalizirame.
- }
- $i++;
- }
- while( my ($datum, $datoteka) = each %nizaDatumi ) {
- print "$datum: $datoteka \n";
- }
- }
- else{
- print "Ne odbravte zname.\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement