Wpis z mikrobloga

Kto sortuje w ten sposob daty


@Sheppard28: Np. polecenie ls. Tak, będę pisał program czytający listę plików i sortujący, żeby zrobić coś co jednolinijkowe polecenie z paroma pipe'ami może zrobić w 3 sekundy. xD
  • Odpowiedz
@GaiusBaltar: no to kolega chyba nie wie jak zaimplementowane jest polecenie ls w systemach unixowych. To ze Tobie sie wydaje ze sortuje w ten sposob bo taki jest output to nie znaczy ze faktycznie "pod spodem" sortuje po stringu
  • Odpowiedz
@Sheppard28: Twierdzisz, że kiedy sortuje pliki po nazwie ls magicznie rozpoznaje daty? xD

YYYY-MM-DD w nazwie jest najprostszym rozwiązaniem kiedy chcesz aby plik był sortowalny i jednocześnie format był zrozumiały dla człowieka. Widziałeś kiedykolwiek jak są archiwizowane pliki logów w praktycznie każdym sensownym systemie? Tak są timestampy filesystemu, które w praktyce, po kompresjach i przerzuceniu między katalogami/serwerami z reguły mają nikły związek z rzeczywistością.
  • Odpowiedz
@GaiusBaltar: dobra, krotki wyklad z tego jak dziala algorytm sortowania komendy LS bo robie to za darmo

1. Pliki sa "przechowywane" z datami utworzenia w formacie timestamp np 1595159596
2. Wpisujesz ls -at
3. Ls sortuje pliki po tych cyferkach
4. Ls konwertuje cyferki do formatu zrozumialego dla czlowieka, np YYYY-MM-DD i wyswietla
  • Odpowiedz
@Sheppard28: Czytałeś w ogóle to na co odpowiedziałeś? Powtórzę poniżej moje ostatnie zdanie:

Tak są timestampy filesystemu, które w praktyce, po kompresjach i przerzuceniu między katalogami/serwerami z reguły mają nikły związek z rzeczywistością.


Nie mówimy o ls -t tylko o zwykłym ls po nazwach plików. Kiedy chcesz mieć w sposób pewny (odporny na przenosiny między systemami archiwizacji, pobieranie, etc) zapisane daty/czasy, robisz to w nazwach
  • Odpowiedz
@GaiusBaltar: Ja tylko mowie jak to jest zaimplementowane chłopie. Nie mowie o juz kejsach. Gwarantuje Ci ze appendowanie do logow tez bazuje na timestampach ktore sa potem konwertowane do formatu czytelnego dla uzytkownika
  • Odpowiedz