Переименование в текущую дату (rename to data name)

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Закрыто
Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Переименование в текущую дату (rename to data name)

#1

03 фев 2017, 12:32

Взято отсюда

Код: Выделить всё

#!/bin/bash

DIR_IN="input"
DIR_OUT="output"

if [ ! -d "$DIR_IN" -o ! -d "$DIR_OUT" ]
then
exit 1
fi

find "$DIR_IN" -mindepth 1 -type f | while read FILE
do
FILE_NAME=$(basename "$FILE")
unset FILE_SUFFIX
if [[ "$FILE_NAME" == *.* ]]
then
FILE_SUFFIX=".${FILE_NAME##*.}"
fi
mv "$FILE" "$DIR_OUT/$(date --date="$(stat --printf=%y "$FILE")" +%d-%m-%Y)$FILE_SUFFIX"
done
Для переименования с временной меткой mv "$FILE" "$DIR_OUT/$(date --date="$(stat --printf=%y "$FILE")" +%H:%M_%d-%m-%Y)$FILE_SUFFIX"

Аватара пользователя

zuzabrik
Сообщения: 1744
Зарегистрирован: 29 авг 2016, 12:08
Решено: 20
Благодарил (а): 108 раз
Поблагодарили: 521 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#2

03 фев 2017, 12:50

во первых смущает как он будет работать со скрытыми файлами (*.* шаблон вроде и их включает)
во вторых раз уж есть операция добавления даты, хотелось бы и скрипт обратного преобразования. из файла+дата к файлу :-D
А мог бы стать нормальным человеком...

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#3

03 фев 2017, 12:51

Переименование чего в текущую дату? :acute: :joke:
Изображение
   
Изображение

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Переименование в текущую дату (rename to data name)

#4

03 фев 2017, 12:53

Chocobo, имени файла конечно :-D
zuzabrik, переименовывание того файла, который надо переименовать. Как правило это логи или бэкапы. А эти файлы видимы. Невидимый файл туда случайно не попадет. Если не нужна дата, а нужен файл - то просто не переименовываешь.

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#5

03 фев 2017, 13:00

Ты ж любишь везде конкретику :blink: - вот и тут стоило бы расписать, что это переименование - является переносом файлов из папки ./input в папку ./output с попутным изменением имени на дата+имяфайла

P.S. input / output лучше бы ключами запуска передавать, как и возможность выбора между дата и датавремя
Изображение
   
Изображение

Аватара пользователя

zuzabrik
Сообщения: 1744
Зарегистрирован: 29 авг 2016, 12:08
Решено: 20
Благодарил (а): 108 раз
Поблагодарили: 521 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#6

03 фев 2017, 13:35

Dja писал(а): переименовывание того файла, который надо переименовать. Как правило это логи или бэкапы. А эти файлы видимы. Невидимый файл туда случайно не попадет. Если не нужна дата, а нужен файл - то просто не переименовываешь.
Я бы посоветовал просто архивировать логи или бекапы и давать дату архиву, а не файлам. Потому и спросил про обратное переименование. Очень интересно просто как забекапив таким образом например папку doc с сотней документов в нем ты распакуешь их обратно. будешь у каждого файла вручную убирать дату создания архива? :-D Или не дай бог архивировать так системные папки, типа /etc :-D

Уж лучше нечто типа такого. Создает из содержимого заданых папок архив с датой. Распаковать его обратно не сложно, а вот переименовать обратно все файлы чтобы вернуть в систему, задачка не такая тривиальная. Особенно если файлы в своем названии уже содержали дату до вставки текущей даты.

Код: Выделить всё

#!/bin/bash

FILES="bin  Видео  Документы  Загрузки  Изображения  Музыка  Общедоступные  Шаблоны"

cd ..
tar -czvf ./backup/backup_$(date +%Y-%m-%d_%H-%M-%S).tar.gz $FILES
А мог бы стать нормальным человеком...

Аватара пользователя

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#7

03 фев 2017, 15:53

Dja писал(а):... переименовывание того файла, который надо переименовать....
zuzabrik писал(а): Я бы посоветовал просто архивировать логи или бекапы и давать дату архиву, а не файлам

файлы ...фуяйллы папки ... архивы ... :dash2:

Понятно что лучше конечн архивом бекапить и добавить в имя архивируемого файла или папки дату\время нет проблем
zuzabrik писал(а): во вторых раз уж есть операция добавления даты, хотелось бы и скрипт обратного преобразования. из файла+дата к файлу
а вот это ужо точно засада :-D

но коль вопрос стоит - "переименовывание того файла, который надо переименовать"
то ,..
собсно вот скриптик -
rename-data.sh.zip
(535 байт) 40 скачиваний
вставить в него и другой формат даты-времени ( и если надо то и архивирование добавить и тд. итп ) , не должно составить труда.
а так... если его в скрипты ФМ зафигачить
то ПКМ по выбранному файлу в Контекстном меню -> Сценарии -> (ентот скриптик ) и ...
выделенный(выбранный кликом при ПКМ) файлик или папка будут переименованы добавлением текущего даты-времени перед собсно именем файла.
ну и там истчшо сообщение должоно выскочить о проведённом переименовании.
И если дальше извращаться , то можно подумать и как сделать чтоб кучей переименовывать ... в каталоге или несколько выделенных ...
конечно это не полное переименование имени в дату(как было говорено в начале темы), зато нет проблем с обратным преобразованием и поиском имени которое было до переименования в дату.
Последний раз редактировалось пользователем 4 colonel; всего редактировалось раз: 3
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Переименование в текущую дату (rename to data name)

#8

03 фев 2017, 15:55

zuzabrik, логи обзываются чтоб опубликоваться.

Аватара пользователя

zuzabrik
Сообщения: 1744
Зарегистрирован: 29 авг 2016, 12:08
Решено: 20
Благодарил (а): 108 раз
Поблагодарили: 521 раз
Контактная информация:

Переименование в текущую дату (rename to data name)

#9

03 фев 2017, 20:53

Dja писал(а): логи обзываются чтоб опубликоваться.
Так и пиши. Мой куратор из ФСБ просит логи из чата IRC в формате с датой лога. Или ты все это не для своего бота в канале ирки делаешь? :-D
А мог бы стать нормальным человеком...

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Переименование в текущую дату (rename to data name)

#10

03 фев 2017, 20:56

zuzabrik, я уже сделал. Просто делюсь. Мало ли кому пригодится.

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Переименование в текущую дату (rename to data name)

#11

03 фев 2017, 21:21

Во избежание дальнейших недопониманий вот видео
https://vimeo.com/202424042

Закрыто

Вернуться в «Программирование, скриптинг, виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей