Wpis z mikrobloga

Siemano linuksowe Mirasy.
Muszę pilnie napisać dość rozbudowy skrypt bashowy i utknąłem na jednym etapie. Gdyby to był znany mi c# czy python to już dawno bym miał to za sobą. Niestety jestem słaby into bash.

Potrzebuję usunąć najnowsze pliki z podanego katalogu. Muszę ich usnąć tyle, aby suma rozmiaru usuwanych plików była mniej więcej równa wartości określonej wcześniej. Trzeba zrobić listę takich plików, pokazać je userowi, a jak ten się zgodzi to usunąć (albo przenieść w inne miejsce, to już nie ma znaczenia).

To brzmi bardzo prosto, w w/w językach wrzucił bym wszystkie pliki do słownika, posortował po dacie, a potem w pętli sumował po kolei ich wielkości, aż do uzyskania wymaganej sumy, jednocześnie odkładając sumowane pliki do osobnej tablicy/listy/słownika. Wtedy można by łatwo robić z nimi co się chce.

Ale jak to można zrobić "bashowym sposobem"? W sumie mam już składnię finda, który ładnie mi pokazuje pliczki jakie chce i w jakiej kolejności... Wygooglalem też jak wrzucić wynik finda w tablice, ale nie wiem czy w dobrą stronę idę. Pewnie Linux pozwala w lepszy sposób to załatwić niż bawić się na kolekcjach jak murzyn w c# na windowsie.. ( ͡° ͜ʖ ͡°)

Pomoże ktoś?

#linux #bash #programowanie
  • 5