#!/usr/bin/perl # # Skrypt zlicza ile kazdych linijek jest w pliku... zabawy z perlem :] # # Sciskailicz.0.1 # bierze z pliku i zlicza kolejne linijki czy sie nie powtarzaja... # Dedykuje ten skrypt mojej przyszlej wspanialej kobiecie oraz osobom, # ktore o 5 tej rano kiedykolwiek instalowaly uszczelki na okna... :] # 0.5 duzy skok mryga zmiana enginu i w ogole wszystkiego w zasadzie # caly pomysl od Sobiecha sciagniety z glowy i chuj ogolnie rzecz biorac # bardzo ladnie zlicza tylko powoli ... dorobic jeszcze tr " " "\n" < plik # pozniej sort -r wynik liczenia.. itd.. # walcze walcze zobaczymy w koncu nowe tysiaclecie...a le qpe mi sie chce # no jest 16 zero zero czasu Ziemii 9 stycznia mysle, ze jest dobrze # 0.6 juz mryga wszystko praktycznietylko jeszcze na brudno ale zlicza to # co trzeba a to co juz bylo omija.. teraz tylko sobie pliki pomocnicze # sam niech natworzy i pokasuje pozniej momentos :] # co raz lepiej juz tylko z pliku dupa wynik dupa4 musze jeszcze tr owanie # zrobic i pozniej juz z komend sie bedzie uruchamialo :] # # Ponownie zabieramy sie do pracy. Wszystko ma dzialac jak powinno :] # a caly plan wyglada nastepujaco. Kazda linijke najpierw sprawdza # czy nie bylo w plik3 czyli tam gdzie zapisywane jest juz sprawdzone # wyrazy. Jesli nie ma jedzie dalej. Bierze wyraz i sprawdza go ile razy # jest w $plik2. Zlicza to, na koncu dodaje do $plik3 wychodzi. koniec. # 0.7 Mrygez. Tylko nie ma $plik3 na razie generowania i sprawdzania wiec # duplikaty tez sprawdza. Zaraz poprawic...aaa dorobic na koncu ify czy nie # ma plikow takich co on tworzy sobie. zeby bylo secure da szef. # 20 marzec trochu pozniej ale wazne ze do przodu . mryga spoko na razie 0.75 # no 8.0 ale powolne to jak szyna danych 8 bitowa ;]] if (!$ARGV[0]) { print "Sciskajilicz 0.8 kaneda\@bohater.org\n"; print "Jako parametr podaj plik do zliczenia...\n";exit } if (! -e $ARGV[0]) { print "Nie istnieje $ARGV[0]...\n"; exit } $plik = $ARGV[0]; $plik2 = $ARGV[0] . "__2"; $plik3 = $ARGV[0] . "__3"; $plik4 = $ARGV[0] . "__4"; $plik5 = $ARGV[0] . "_wyniki"; $plikt = $plik . "__t"; system ("tr [:blank:] '\n' < $plik > $plikt"); rename ($plikt , $plik); system("cp $plik $plik2"); $jest = 0; $ile = 0; ############### open(DATA,"$plik"); while () { ($linia) = split(/\n/); open(DATA3,"$plik3"); while () { ($linia2) = split(/\n/); if ( $linia eq $linia2 ) { $jest = 1; close(DATA3) } else { $jest = 0; } } close(DATA3); #### Jezeli nie ma w plik3 jedziemy liczenie if ($jest == 0) { $ile = 0; open(DATA2,"$plik2"); while () { ($linia2) = split(/\n/); if ( $linia2 eq $linia ) { $ile++; } } close(DATA2); # Jesli tylko raz, zliczone zapisuje do pliku... if ($jest == 0) { open(DATA4,">>$plik4"); print (DATA4 $ile,"=",$linia,"\n"); close(DATA4); } # Po sprawdzeniu ma zapisac do $plik3... open(DATA3,">>$plik3"); print (DATA3 $linia,"\n"); close(DATA3); } #### } close(DATA); ############### system ("sort -n -r < $plik4 > $plik5 "); system ("rm $plik2 $plik3 $plik4"); print "\nWyniki znajda Panstwo w: $plik5\n";