Как рекурсивно получить все файлы jpg с помощью сценариев оболочки

поэтому всякий раз, когда я указываю каталог в качестве первого аргумента, я хочу, чтобы моя программа захватывала все файлы jpg и отсортировывала их в порядке их создания. У меня более одного подкаталога, поэтому мне нужно, чтобы процесс выполнялся рекурсивно. Вот что я пробовал

#!/bin/bash
file = "$1"
find $1 -name '*.jpg'
sor...

действительно не знаю, как подойти ... любая помощь будет оценена

BashFAQ # 3 (Как я могу отсортировать или сравнить файлы на основе какого-либо атрибута метаданных (время самой новой / самой старой модификации, размер и т. д.)?) и Использование поиска оба очень актуальны.
Charles Duffy 13.09.2018 18:54

Если "$ 1" стоит цитировать в строке 2, вероятно, стоит указать его в строке 3.

Cupcake Protocol 13.09.2018 20:24

Пожалуйста, посмотрите: shellcheck.net

Cyrus 13.09.2018 21:24
find "$1" -type f -name '*.jpg' -printf '%T@ %p\n' | sort -n
JGK 16.09.2018 12:10

Будет сложно отсортировать их в том порядке, в котором они были созданы, если вы постоянно где-то не храните эти данные (например, если все ваши файлы JPEG имеют теги EXIF ​​DateTimeDigitized). В противном случае все, что у вас есть, - это время последней модификации или время изменения inode; стандартные файловые системы семейства Unix не имеют понятия времени творчество.

Toby Speight 27.09.2018 17:58
2
5
119
1

Ответы 1

Вы указываете путь и тип файла, этот код находите :) Вы можете сохранить как FindFileScript.sh

#!/bin/bash
echo -n "Which directory should I search ? (/Desktop) : "
read directory
echo -n "Select file type(like png || jpg || pdf) : "
read fileType
find "$directory" -type f -name "*.$fileType"
./FindFileScript.sh 

Другие вопросы по теме