#bash
#bash
Вопрос:
Я очень новичок в написании сценариев bash.
Мне нужно создать скрипт bash, который в конечном итоге копирует файлы из одного каталога в другой каталог.
Но целевой каталог для всех файлов не обязательно должен быть одинаковым для всех файлов в исходном каталоге. Если целевой каталог не существует, его необходимо создать. Имя нового каталога зависит от даты создания соответствующего файла. Формат имени каталога — ГГГГ_ММ_ДД.
Для этого я должен прочитать свойства файла, а затем проверить, существует ли целевой каталог. Если нет, то создайте каталог и скопируйте файл. Если он существует, скопируйте файл. Как я могу прочитать свойства файла? Как я могу создать новый каталог в формате ГГГГ_ММ_ДД? Как я могу проверить, существует ли каталог уже?
Чтобы узнать целевой каталог, скрипту необходимо прочитать свойства каждого файла в исходном каталоге с помощью цикла. Как я могу перебирать файлы в каталоге?
Я ясно выразился? Если нет, обратитесь ко мне за дополнительной информацией.
Спасибо.
Carlos Wiesemann
Комментарии:
1. Но в большинстве случаев время создания файла неизвестно. Чтобы узнать время создания, вы можете использовать stat (например, так: stat —формат «%W» <имя файла> )
2. На все ваши вопросы есть ответы, если вы их ищете. Вы пробовали что-нибудь сами или просто хотите, чтобы кто-нибудь написал сценарий для вас?
3. Как я уже сказал, я новичок в написании сценариев bash. Я хочу научиться этому. И, конечно, я хочу написать сценарий самостоятельно. Но иногда кому-то нужна / нужна помощь. И я верю, что этот сайт — самое подходящее место для таких вопросов. Мне очень жаль, если я обидел вас своими вопросами.
Ответ №1:
Для чтения файла с датой последнего изменения в каталоге с помощью цикла
ls | stat --format "%n - %y" *
или, если вам не нравится команда ls, как предложил Сайрус, удалите ее 😉
stat --format "%n - %y" *
Комментарии:
1. Я предлагаю удалить
ls |
.