GNU find может помочь вам, попробуйте сначала
find . -type f -printf "%C+\t%M\t%p\n" | sed 's/+/ /' | sort -t" " +0 -1
Это может работать.
Но я использую
find (GNU findutils) 4.4.2
И я не смогзаставить работать %C+
штуковину.
Итак, я пришел с длинной строкой в формате printf, которая, как дополнительное преимущество, не требует последующей обработки sed.
find . -type f -printf '%CY-%Cm-%Cd.%CH%CM%CS\t%M\t%p\n' | sort +0 -1n
, который дает вывод, такой как
2011-03-30.141038.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-22011-03-30.140959.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.libs/reader3.exe
2011-03-30.141001.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.libs/reader3_ltshwrapper
2011-03-30.141001.0000000000 -rwxr-xr-x ./pkgs/libxml2/libxml2-2.7.7/doc/examples/reader3.exe
2011-03-30.141002.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-2.7.7/doc/examples/.deps/tree2.Po
2011-03-30.141002.0000000000 -rw-r--r-- ./pkgs/libxml2/libxml2-2.7.7/doc/examples/tree2.o
Трейлинг .0000000000
на каждой отметке времени составляет доли секунды, которые, очевидно, моя система не записывает.Вы можете получить форматирование HH: MM: SS, используя %TX
.
Если вам нужны дополнительные поля в вашем списке файлов (я добавил разрешения как дополнительный), выполните man find
, а затем выполните поиск -printf
.Существует множество аргументов для форматирования списка практически любым нужным вам способом.
Хочу заметить, что вы говорите «хотите, чтобы они были созданы».Unix имеет три метки времени, которые он хранит для файлов, которые не включают время создания, поэтому вы можете использовать отображаемую информацию как
%A File's last access time
%C File's last status change time
%T File's last modification time
Люди часто думают, что% C должен означать время создания, но, как вы видитеКроме того, это «статус изменение время», что, я думаю, является последним изменением любых прав доступа к файлам.Так что в некоторых случаях это будет время создания файла, но это не гарантировано.(sp).
На странице руководства не указано, что поскольку Windows хранит время создания, вы можете получить его с помощью find
.Кто-нибудь?
Надеюсь, это поможет.