JohnyByk 1 Zgłoś post Napisano Maj 16, 2012 Witam. Piszę z prośbą o pomoc w napisaniu skryptu w per'u, którego nie znam ani trochę. Zabieram się za łyknięcie podstaw, ale ciągle brakuje mi czasu, a jak coś na szybko znajdę to nie załatwia to moich problemów bo na końcu się okazuje, że to nie o to chodziło. Chodzi mi o skrypt, który wrzuci listę plików z zadanego folderu do tablicy. Później do każdego przebiegu pętli podbija mi licznik i jeśli licznik (równoznaczne z liczbą plików w folderze) jest większy od X to pliki są kasowane z folderu. Chodzi po prostu o usunięcie najstarszych plików powyżej ilości X. Chciałbym się dowiedzieć: - w jaki sposób "podbić" wartość zmiennej o 1 przy przebiegu pętli (coś al'a php'owe $zmienna++) - jak pososrtować pliki w tablicy po dacie? A może jest jakiś szybszy sposób w stylu: pozostaw 30 najnowszych plików z folderu X? Może ktoś ma coś gotowego i zechce się podzielić? Z chcęcią zrobiłbym to sam i nauczył się podstaw perl'a, ale zabranie się do tego zajmuje mi zbyt dużo czasu z powodu braku czasu :]. Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Maj 16, 2012 (edytowany) Najprościej To wyświetli Ci. $zm=`ls -1|wc -l`; if [ $zm -gt 20 ]; then ls -1t|tail -10; fi Wystarczy dodać xargs i robisz co chcesz z tym, np: $zm=`ls -1|wc -l`; if [ $zm -gt 20 ]; then ls -1t|tail -10|xargs rm -f; fi Jeśli plików będzie więcej niż 20 to usunie 10 najstarszych. Łatwo się domyślić, co gdzie poprawić, udoskonalić PS. Używasz na własne ryzyko Edytowano Maj 16, 2012 przez Syndrom (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
JohnyByk 1 Zgłoś post Napisano Maj 16, 2012 Dzięki. Spróbuję później to uruchomić. Pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach