Решено: Запихать дату в имя файла (Bash)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2
Контактная информация:

Решено: Запихать дату в имя файла

Сообщение alexsf »

Подскажите, как в bash можно в имя создаваемого файла подставить текущую дату (год-месяц-день:часы:минуты:секунды)?
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение madskull »

touch file-$(date +%y%m%d)
дальше - man date
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение alexsf »

(madskull @ Вторник, 25 Января 2005, 10:41) писал(а):touch file-$(date +%y%m%d)
дальше - man date

Класс, практически получилось.

Я выполнил:

touch file-$(date +%Y-%m-%d:%k:%M:%S)

В итоге получил файл file-2005-01-25:

Все, что после первого двоеточия в имя файла не вошло. Попробовал : заменить на . - то же самое. Что я неправильно делаю???
alexsf добавил в 25.01.2005 10:55
Ошибочка. Не то, чтоб не вошло - всё, что после двоеточия получилось отдельным файлом :)
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение madskull »

Лучше используй %H (00-23)
Если время меньше десяти часов, то печатаются пробел и час => получается имя с пробелом => в понятии touch - два файла.
кстати, у тебя должен был получиться еще один файл, вроде 9:10:11. Неужели он не навел на размышления?
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение alexsf »

(madskull @ Вторник, 25 Января 2005, 10:59) писал(а):Лучше используй %H (00-23)
Если время меньше десяти часов, то печатаются пробел и час => получается имя с пробелом => в понятии touch - два файла.
кстати, у тебя должен был получиться еще один файл, вроде 9:10:11. Неужели он не навел на размышления?

Действительно, файл получился. И на размышления навел, но додуматься я не смог :) А с использованием %H действительно все красиво.

Появился еще вопрос: а как мне переименовать файл в такой формат? И запомнить имя получившегося файла в переменной?
Спасибо сказали:
Аватара пользователя
madskull
Сообщения: 1019
Статус: Экс-металлюга
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение madskull »

(alexsf @ Вторник, 25 Января 2005, 12:19) писал(а):Появился еще вопрос: а как мне переименовать файл в такой формат? И запомнить имя получившегося файла в переменной?

Ну, это уже элементарные файловые операции и баш-скриптинг. Тут надо уже самому читать что-нить для начинающего.
ArchLinux / IceWM
Спасибо сказали:
Аватара пользователя
alexsf
Сообщения: 197
ОС: openSUSE-11.2
Контактная информация:

Re: Решено: Запихать дату в имя файла

Сообщение alexsf »

Понятно. Спасибо за помощь.
alexsf добавил в 26.01.2005 08:35
Спасибо еще раз. Всё оказалось просто до безобразия.
Спасибо сказали:
valdemarin
Сообщения: 2

Re: Решено: Запихать дату в имя файла

Сообщение valdemarin »

Подскажите пожалуйста, как изменить имя существующего файла на +дата, к примеру: demo.tar.gz на demo-120405.tar.gz
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Решено: Запихать дату в имя файла

Сообщение SLEDopit »

valdemarin писал(а):
05.04.2012 15:39
Подскажите пожалуйста, как изменить имя существующего файла на +дата, к примеру: demo.tar.gz на demo-120405.tar.gz

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

mv demo.tar.gz demo-$(date +%y%m%d).tar.gz

UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
valdemarin
Сообщения: 2

Re: Решено: Запихать дату в имя файла

Сообщение valdemarin »

Спасибо вам большое!
Спасибо сказали:
Ответить