exiftool:
exiftool "-CreateDate>FileModifyDate" FILES or FOLDERS
Имя нужного значения может отличаться в зависимости от формата файла и других факторов. Используйте ниже, чтобы распечатать их:
exiftool -time:all -s FILE
Что-то подобное может сработать в Bash:
#!/bin/bash
filelist=()
function fadd() {
filelist+=("${@}")
}
function fdel() {
local -r index="${1}"
newstack=()
for ((i = 0; i < ${#filelist[@]}; ++i)); do
if [[ "${i}" != "${index}" ]]; then
newstack+=( "${filelist[${i}]}" )
fi
done
filelist=( "${newstack[@]}" )
}
function flist() {
for ((i = 0; i < ${#filelist[@]}; ++i)); do
printf "%2d %s\n" "${i}" "${filelist[${i}]}"
done
}
function fedit() {
local -r index="${1:-0}"
${EDITOR} "${filelist[${index}]}"
}
function fget() {
local -r index="${1:-0}"
echo "${filelist[${index}]}"
}
Это определяет массив filelist
, который изначально пуст, и определяет набор функций, которые воздействуют на этот массив:
fadd()
добавляет имена в конец массива. fdel()
удаляет элемент массива с заданным индексом. flist()
выводит содержимое массива вместе с его индексом. fedit()
открывает ваш редактор (, как определено ${EDITOR}
), с файлом, соответствующим данному индексу, в filelist
. fget()
печатает имя файла для файла с заданным индексом. Обратите внимание, что это не включает проверку ошибок (, например, вы можете указать недопустимые индексы ). Обратите также внимание, что я не проверял это с пробелами в именах файлов --, которые, вероятно, не будут работать с этим.
Если я получаю файл, содержащий вышеуказанное, я могу сделать следующее:
$ source file_mgmt
# Add some files of interest
$ fadd ~/src/foo.[ch]
$ fadd /tmp/bar.txt
$ fadd ~/.bashrc
# View the file list
$ flist
0 /home/user/src/foo.c
1 /home/user/src/foo.h
2 /tmp/bar.txt
3 /home/user/.bashrc
# Open a file from the list by index
$ fedit 0
[ my ${EDITOR} opened with /home/user/src/foo.c ]
# Remove a file from the list
$ fdel 2
$ flist
0 /home/user/src/foo.c
1 /home/user/src/foo.h
2 /home/user/.bashrc
# Copy ~/.bashrc to tmp
$ cp $(fget 2) /tmp
Обратите внимание, что список файлов будет на основе -оболочки. Если, например, у вас открыто несколько терминалов, они будут иметь независимые списки файлов.