Как выполнить сортировку по отметке времени в имени файла

Угадайте, :вы бежали nix-channel --updateс тех пор, как бросили их? (не проверено и т. д. )Судя по выходным данным, вы удалили все каналы из своего пользователя.

2
01.02.2021, 08:41
2 ответа

Вам нужен переключатель -Xс GNU ls. Например, в одном из моих каталогов документов /bin/ls -lXвозвращает это:

-rw-r--r--  1 me me 26595 Oct 28 10:39 "Mom's Books.ods"
-rw-r--r--  1 me me 80977 Jan 29 16:47 'My Investments.ods'
-rw-r--r--  1 me me 21338 Dec 20 12:31 'Good-Bad Foods.odt'
-rw-rw-r--  1 me me 51614 Jan 27 19:12 'Neuropathy Exercises.odt'
-r--------  1 me me   151 Jan 11 21:35  brave-browser-sync.txt
-r--------  1 me me   474 May 19  2020  brave_wallet_recovery.txt
-r--------  1 me me   882 Jan 30 13:39  seckeys.txt
-r--------  1 me me   120 Aug 20 11:48  toms-hardware-recovery.txt
0
18.03.2021, 22:33

Немного расширив пример:

ABC.20020131224353
ABC.20080131214253
ABC.20200131234153
ABC.20220131224353
ABC.20040131214253
ABC.20200131234153

Вы можете использовать findи sort:

.
$ find. -type f -regextype posix-extended -regex '^.*\.[0-9]{14}$' | sort -t. -k3,3
./ABC.20020131224353
./ABC.20040131214253
./ABC.20080131214253
./ABC.20200131224353
./ABC.20200131234153
./ABC.20220131224353
2
18.03.2021, 22:33

Теги

Похожие вопросы