Метка времени файла изменения и час дисплея вместо года с ls

То же как evilsoup с find:

find . -name '*.py' -exec bash -c 'mv "$0" "${0%.py}-backup.py"' {} \;

или если Вам не нравится запускать экземпляр для каждого найденного файла:

find . -name '*.py' -exec bash -c 'for f; do mv "$f" "${f%.py}-backup.py"; done' _ {} +

find решение могло бы быть лучше, если у Вас есть огромное количество файлов, так как globbing является медленным. Не стесняйтесь добавлять -n опция к mv (не ударьте), или a -v (подробная) опция.

4
30.09.2014, 01:39
2 ответа

проблема решена. Проблема в том, что если дата в будущем она будет отображаться в год вместо часа.

Вот простой пример: сенсорный файл и L дает

-rw-r--r-- 1 ABCD DEF 0 sept. 29 12:01 file

, что является нормальным. Не пытайтесь изменить дату 15 секунд в будущем: Touch --дайте файл «+15 секунд» и сразу LS -L

-rw-r--r-- 1 ABCD DEF 0 sept. 29  2014 file

и через 15 секунд, то же самое ls -l дает

-rw-r--r-- 1 rius_b users 0 sept. 29 12:03 file
1
27.01.2020, 20:55

LS имеет два формата отображения времени:

  • для временных меток за последние 6 месяцев: месяц, день, час, минута.
  • Для других временных метров (в будущем или более 6 месяцев назад): год, месяц, день.

Намерение состоит в том, чтобы получить горизонтальное пространство и не сокрушить пользователь с информацией. Показ «С этого года» более очевиден, чем показывать текущий год и позволить пользователю заметить, что это действительно текущий год. Точное время дня редко имеет значение для очень старых файлов. Даты в будущем редки.

GNU LS имеет вариант - полный рабочий день , чтобы показать полное время файла (год, месяц, день, час, минуты, секунды, наносекунды, смещение часового пояса) независимо от того, когда время - это. Вы можете настроить выходной формат с вариантом - стиль времени .

3
27.01.2020, 20:55

Теги

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