Как подставить дату в имени файла в Linux?

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
alex117
ст. сержант
Сообщения: 377
Зарегистрирован: 2010-07-30 13:25:13

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение alex117 » 2011-10-24 8:44:24

Вопрос решен.
Как оказалось, если смотреть имя архива через консоль самого сервера, то все корректно отображается. А вот со своего рабочего десктопа на Ubuntu через проводник получается бред.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение Neus » 2011-10-24 13:03:53

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

%uname -sr
FreeBSD 8.2-RELEASE
%cat test.sh
#!/bin/sh
tar -xf data-`date +%d-%a-%R`
tar -xf date-`date +%F`
%sh test.sh
tar: Error opening archive: Failed to open 'data-24-Mon-14:02'
tar: Error opening archive: Failed to open 'date-2011-10-24'
а тут все ОК ! :)

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение Neus » 2011-10-24 13:06:45

alex117 писал(а):Вопрос решен.
Как оказалось, если смотреть имя архива через консоль самого сервера, то все корректно отображается. А вот со своего рабочего десктопа на Ubuntu через проводник получается бред.
ааа
дык поменяй локаль в скрипте, штоп латиницей имена были

Аватара пользователя
alex117
ст. сержант
Сообщения: 377
Зарегистрирован: 2010-07-30 13:25:13

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение alex117 » 2011-10-24 15:45:29

А как это сделать?
Просто винда тоже не понимает такие имена.
P.S: Две страницы топика ни о чем, как оказалось.

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение FiL » 2011-10-24 19:46:32

блин, ведь про винду 8 раз переспрашивали.
Нееее... сплошной линукс... да как можно...

Аватара пользователя
alex117
ст. сержант
Сообщения: 377
Зарегистрирован: 2010-07-30 13:25:13

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение alex117 » 2011-10-25 6:02:36

блин, ведь про винду 8 раз переспрашивали.
Нееее... сплошной линукс... да как можно...
Я по-моему ответил, что сервер на OpenSuse, моя машина - на Ubuntu. И еще сказал, что та же проблема с кодировкой наблюдается и на windows_машинах, на которых я ради интереса попробовал открыть этот же архив.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение hizel » 2011-10-25 8:06:20

сейчас выяснится, что ломитесь вы на сервер по samba, гг
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение bagas » 2011-10-25 8:28:04

В Linux по моему, стандарт кодировки utf8, с ней не должно быть проблем. Если конечно вы свою не ставили.
Виндуз машины это понятно что по самбе.
Я Linux я думаю , что по nfs он подключается.
Покажи locale.
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение hizel » 2011-10-25 8:37:51

битва телепатов! спешите видеть! у человека получаются сокращенные имена файлов эпохи windows'95 , в линупсе никогда не существовало ограничения 8+3
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение bagas » 2011-10-25 9:40:22

hizel писал(а):битва телепатов! спешите видеть! у человека получаются сокращенные имена файлов эпохи windows'95 , в линупсе никогда не существовало ограничения 8+3
я не про ограничение написал, а про стандарты.
Где вы видели по стандарту в установленный Linux'e , что бы кодировка была cp1251 или koi8. насчет кои8 спорный вопрос в некоторых она присутствует и посей день.
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение hizel » 2011-10-25 9:54:13

причем тут кодировка вообще? да и какая разница что я видел и где? да еще и по стандарту :-\
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
alex117
ст. сержант
Сообщения: 377
Зарегистрирован: 2010-07-30 13:25:13

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение alex117 » 2011-10-25 11:58:02

Ради интереса вывод locale на сервере:

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

LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
и на моем ubuntu:

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

LANG=ru_RU.UTF-8
LANGUAGE=ru_RU:en
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
найдите десять отличий

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

Re: Как подставить дату в имени файла в Linux?

Непрочитанное сообщение Neus » 2011-10-26 8:53:33

да билять.. писал же уже
вместо `date +%d-%a-%R` сделай `date +%F` или `date +%F_%H-%M` если нада с часами и минутами

Evadex_User
проходил мимо

Как подставить дату в имени файла в Linux?

Непрочитанное сообщение Evadex_User » 2015-11-13 10:02:06

Обязательно использовать обратные кавычки в конструкции `data +` и никакие другие. Ставятся по Ё.