LS: Обращение по временной метку (обратный), и если Timestamp - это тот же порядок по имени (не обратно)

На Mint 17.2 выберите Preferences -> Keyboard -> Layouts -> Options, выберите Caps Lock key behavior, выберите "Make Caps Lock an additional control."

.
0
22.10.2018, 13:49
1 ответ

Вы можете использовать что-то вроде этого

stat --printf "%Y %n\0" * | sort -z -k1,1n -k2
# or quoted file names:
stat --printf "%Y %N\0" * | sort -z -k1,1n -k2
  • Первый критерий сортировки -поле 1(%Y-> метка времени (точность :секунды )), n числовая сортировка.
  • Не r инвертировано, поскольку ls -tсортирует с «новейшими первыми», что уже является обратным по отношению к sort -n, но вы можете использовать -k1,1nr, чтобы изменить это.
  • Вторым критерием сортировки является все от поля 2 до конца строки(%nили%N--> имя файла)
  • Используйте нулевой разделитель -, чтобы избежать проблем с именами файлов, включая \n.

, а затем исправьте формат по своему вкусу с помощью trи/или sed:

.
... | tr '\0' '\n'
# or just print the filenames:
... | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* /\n/g'

Выход:

$ touch d; sleep 1; touch b c; sleep 1; touch a;
$ ls -tr
d  c  b  a
$ stat --printf "%Y %n\0" * | sort -z -k1,1n -k2 | sed 's/^[0-9]* //;s/$/\n/;s/\x0[0-9]* /  /g'
d  b  c  a
2
28.01.2020, 02:31

Теги

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