Nie używaj ls
, jest to praca dla stat
:
stat -c '%y' filename
-c
pozwala nam uzyskać określone dane wyjściowe, tutaj %y
otrzymamy czas ostatniej modyfikacji pliku w formacie czytelnym dla człowieka. Aby uzyskać czas w sekundach od użycia Epoki %Y
:
stat -c '%Y' filename
Jeśli chcesz również nazwę pliku, użyj %n
:
stat -c '%y : %n' filename
stat -c '%Y : %n' filename
Ustaw specyfikatory formatu w zależności od potrzeb. Sprawdzić man stat
.
Przykład:
% stat -c '%y' foobar.txt
2016-07-26 12:15:16.897284828 +0600
% stat -c '%Y' foobar.txt
1469513716
% stat -c '%y : %n' foobar.txt
2016-07-26 12:15:16.897284828 +0600 : foobar.txt
% stat -c '%Y : %n' foobar.txt
1469513716 : foobar.txt
Jeśli chcesz uzyskać wynik Tue Jul 26 15:20:59 BST 2016
, użyj czasu Epoki jako danych wejściowych, aby date
:
% date -d "@$(stat -c '%Y' a.out)" '+%a %b %d %T %Z %Y'
Tue Jul 26 12:15:21 BDT 2016
% date -d "@$(stat -c '%Y' a.out)" '+%c'
Tue 26 Jul 2016 12:15:21 PM BDT
% date -d "@$(stat -c '%Y' a.out)"
Tue Jul 26 12:15:21 BDT 2016
Sprawdź date
specyfikatory formatu, aby spełnić Twoje potrzeby. Zobacz man date
też.
ls
jest ona niekonsekwentnie wdrażana w różnych systemach i dlatego nigdy nie powinna być wykorzystywana do jakiejkolwiek automatyzacji. Zamiast tego używaj poleceń takich jakstat
ifind
podczas pisania skryptów.próbowałem
ale jeśli data jest krótsza niż 10, traci czas. Jest to spowodowane dodatkowym miejscem przed datą, jeśli jest mniejsza niż 10. Spróbuj tego:
Polecenie awk drukuje pola oddzielone wszystkimi spacjami (-F ''). Mam nadzieję, że to działa. Wiem, że to nie odpowiada na pierwotne pytanie, a jedynie wyjaśnienie polecenia ls dla tylko daty i godziny. Kiedy Google „ubuntu dostaje datę i godzinę pliku”, wypisuje to pytanie u góry, to jest to, czego szukałem, ponieważ nie potrzebuję również roku. W przypadku roku, daty i godziny możesz wypróbować jedno z poniższych poleceń. % m drukuje numer miesiąca. % b drukuje skrót miesiąca: upuść% H:% M, jeśli nie potrzebujesz godziny i minuty. % -d nie drukuje zera wiodącego dla dnia miesiąca.
źródło