Oryginalny:
23 stycznia 2011 10:42 Coś 2007.12.20.avi 26 czerwca 2009 Coś 2009.06.25.avi 12 lutego 2010 r. COŚ 2010.02.11.avi 29 stycznia 2011 09:17 COŚ 2011.01.27.avi 11 lutego 2011 20:06 COŚ 2011.02.10.avi 27 lutego 2011 23:05 Coś 2011.02.24.avi
Wynik:
27 lutego 2011 23:05 Coś 2011.02.24.avi 11 lutego 2011 20:06 COŚ 2011.02.10.avi 29 stycznia 2011 09:17 COŚ 2011.01.27.avi 23 stycznia 2011 10:42 Coś 2007.12.20.avi 12 lutego 2010 r. COŚ 2010.02.11.avi 26 czerwca 2009 Coś 2009.06.25.avi
Wygenerowałem powyższą listę (oryginalną) z:
ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then echo $ONELINE | sed "s/.\{7\}/&$(date +%Y) /"; else echo $ONELINE; fi; done
Jak mogę uzyskać wynik, w którym najnowszy plik znajduje się na górze?
Odpowiedzi:
W większości jednorożców
ls
ma-t
opcję. Zeman
strony mojego pudełka Debiana:Spróbuj wykonać następujące polecenie:
$ ls -lt
źródło
Czy to plik tekstowy, który próbujesz posortować, czy próbujesz wyświetlić listę katalogów według daty? W tym drugim przypadku użyj
-t
flagi dols
. W przypadku tych pierwszych zobacz w szczególności-M
flagę do sortowania GNU, która sortuje według trzyliterowych skrótów nazw miesięcy. Następujące polecenie sortuje według trzeciej, pierwszej, drugiej i czwartej kolumny, traktując drugi klucz sortowania jako nazwę miesiąca.Rozważ zawsze stosowanie dat w stylu japońskim / ISO, zawsze w kolejności RRRR-MM-DD-GG-MM-SS (tj. Najbardziej znacząca pierwsza, stała szerokość kolumny). W ten sposób sortowanie według daty jest identyczne z sortowaniem leksykograficznym.
źródło
2018 5 26
działa tak samo dobrze2018 05 26
(dopóki nie przejdziesz przez znaczników, które łączą kolejne spacje…), co nie działa dobrze2018 5 26
.Nie jestem pewien, czy funkcjonalność była w
ls
poleceniu, gdy zadano oryginalne pytanie, ale teraz możesz skorzystać z tej opcji--full-time
.na przykład,
posortuje z najstarszym czasem na dole; lub jeśli używasz:
wtedy odwróci kolejność.
źródło
-t
Opcja całkowicie odpowiada na to pytanie;--full-time
nie jest tak naprawdę istotne.ls -t
nie podaje trybu i właściciela plików, nazwy hosta i wersji systemu operacyjnego ani ceny herbaty w Chinach.ls -t
w ogóle nie wyświetla daty modyfikacji. Ale pytanie nie dotyczy wyświetlania informacji o plikach, lecz sortowania plików według daty modyfikacji. Nie przyczyniasz się do odpowiedzi na pytanie; dodajesz dobrze znane informacje uzupełniające. Gdy zdobędziesz 50 punktów reputacji , możesz opublikować tego rodzaju informacje jako komentarz .recursive (
R
) i pause (|more
)źródło