Да, вы можете сделать это с помощью GNU find
. Если ваши имена файлов не содержат символов новой строки, вы можете сделать следующее:
find -printf '%T@ %p\n' | sort -gk1,1
Параметр -printf
в find
может печатать любую информацию. В данном случае мы используем:
Время последнего изменения файла% Tk в формате, указанном параметром
k, который такой же, как для% A.
@ секунд с 1 января, 1970, 00:00 GMT, с дробной частью.
% p Имя файла.
Итак, % T @% p \ n
выведет время модификации файла в секундах с начала эпохи (% T @
), пробел, а затем имя файла (% p
).
Затем они передаются в sort
, которому предлагается выполнить числовую сортировку ( -n
) только по первому полю ( -k1,1
).
Обратите внимание, что это вернет все файлы и каталоги. Чтобы ограничить его только обычными файлами (без каталогов, файлов устройств, ссылок и т. Д.), Добавьте -тип f
в свою команду find
.
Чтобы получить даты, удобочитаемые человеком, вы можете обработать вывод с помощью GNU date
:
find -printf '%T@ %p\t\n' | sort -gk1,1 |
perl -lne 's/([^ ]*)//;chomp($i=`date -d \@$1`); print "$i $_"'
Здесь команда perl
заменяет первую строку непробельных символов (дата ) с самим собой, обработанным GNU date
.
Вышеуказанное не будет выполнено для имен файлов, содержащих символы новой строки. Чтобы работать с символами новой строки, используйте:
find -printf '%p\t%T@\0' | sort -zt$'\t' -nk2 | tr '\0' '\n'
Это то же самое, за исключением того, что find
выведет \ 0
вместо \ n
в конце каждого файла. название. GNU sort
может работать с выводом, разделенным нулем, поэтому он все еще может правильно сортировать. Последняя команда tr
переводит \ 0
обратно в \ n
.
Попробуйте следующее:
1 )Создать файл MultiCurl.sh
/usr/bin/curl "https://google.com/1"
/usr/bin/curl "https://google.com/2"
/usr/bin/curl "https://google.com/3"
2 )Сделать его исполняемым с помощью chmod
chmod +x MultiCurl.sh
3 )Добавлено в Cron Job
*/60 * * * * $Scriptpath/MultiCurl.sh
В качестве альтернативы вы можете использовать команду wget
с флагом --i
. Поместите все URL-адреса в файл list.txt, затем запуститеwget
cat list.txt
https://google.com/1
https://google.com/2
https://google.com/3
wget --i./list.txt