The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX перспективных И опытных пользователей
.
Google unix.com



UNIX перспективных И опытных пользователей Эксперт-на-экспертов. Узнайте современные UNIX, UNIX команды, Linux, операционные системы, системы управления, программирование, Shell, Shell скриптов, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Помощь, мне нужно, чтобы получить последний день предыдущего месяца sirrtuan Shell программирование и сценарии 11 10-14-2008 06:59 AM
Использовать дату команду, чтобы найти в прошлом месяце Cbish68 Shell программирование и сценарии 5 08-10-2007 11:32 AM
выяснить месяца от даты rudoraj UNIX для чайников Вопросы И Ответы 5 07-03-2007 09:21 AM
Форматирование Дата (добавив в месяц) Девид UNIX для чайников Вопросы И Ответы 4 01-18-2006 10:31 AM
Как получить последний день месяца в Unix rajan_ka1 Shell программирование и сценарии 12 10-04-2005 08:20 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 03-19-2008
vanathi vanathi is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 6
в прошлом месяце дата окончания

Привет,

Как получить прошлый месяц в дату окончания? (иметь текущую дату) с помощью оболочки сценарий. Мне нужно, чтобы его и передать его в порядок.

Пожалуйста, советом.
Спасибо заранее.
Old 03-19-2008
Yogesh Sawant's Avatar
Йогеш Sawant Yogesh Sawant is offline Forum Staff  
Часть времени Модератор и Full Time папа
  
 

Регистрация: Sep 2006
Место проведения: Rossem, Tazenda
Сообщения: 1086
Проверьте, можете ли Вы найти решение здесь
Old 03-21-2008
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5800
В будущем, если кто-то читает это:
попробуйте CAL

Код:
#!/bin/ksh
printf "%d %d" $(date "+%Y %m") | read year month
let month=$month-1
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=12
fi
cal $month $year | tr -s '\n' ' ' | awk '{print $NF}' | read day
printf "%d/%02d/%02d\n" $year $month $day


Последний раз редактировалось: Джим Макнамара; на 03-21-2008 01:01 PM.. Причина: изменил месяц \u003d 1 месяц \u003d 12
Old 03-21-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Регистрация: Декабрь 2007
Место проведения: Дом 17-чемпион мира Бостон Celtics
Сообщений: 1311
Question До года, а месяц \u003d 1?


Код:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=1
fi

Если этого не будет?

Код:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=12
fi

Января 1 месяц, так что когда вы вычитания 1 вы получите 0. И Вы совершенно справедливо ловушку для него decrementing год, но настройки в месяц до 1 января. Я думаю, вам следует установить на 12 декабря.
Old 03-21-2008
curleb curleb is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Место проведения: Здесь, в моей башне ...
Сообщений: 68
Perlподход к вытекающие назад во времени ... Я не очень беспокоили попытаться вернуться в будущем, как еще. Но она также занимается високосный год ...


Код:
$ pl_end_of_last_month_0=`perl -e '\
> $y= time - (86400 * (localtime(time))[3]); \
> printf "%04d%02d%02d\n", (localtime($y))[5] + 1900 ,(localtime($y))[4] + 1 ,(localtime($y))[3] ; ' ` 
$ echo $pl_end_of_last_month_0 
20070831
===


Код:
$ # Today... 
$ pl_today_0=`perl -e '\
> $y= time - (86400 * $ARGV[0]); \
> printf "%04d%02d%02d\n", (localtime($y))[5] + 1900 ,(localtime($y))[4] + 1 ,(localtime($y))[3] ; ' 0 ` 
$ echo $pl_today_0 
20070912
=== 
$ # Today minus 1... (um, yesterday...?) 
$ pl_today_1=`perl -e '\
> $y= time - (86400 * $ARGV[0]); \
> printf "%04d%02d%02d\n", (localtime($y))[5] + 1900 ,(localtime($y))[4] + 1 ,(localtime($y))[3] ; ' 1 ` 
$ echo $pl_today_1 
20070911
=== 
$ # Today minus a defined number... 
$ my_number=3 
$ pl_today_mynumber=`perl -e '\
> $y= time - (86400 * $ARGV[0]); \
> printf "%04d%02d%02d\n", (localtime($y))[5] + 1900 ,(localtime($y))[4] + 1 ,(localtime($y))[3] ; ' ${my_number} ` 
20070909
===

Old 03-21-2008
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5800
Цитата:
Первоначально Послано joeyg View Post
Код:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=1
fi

Если этого не будет?

Код:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=12
fi

Января 1 месяц, так что когда вы вычитания 1 вы получите 0. И Вы совершенно справедливо ловушку для него decrementing год, но настройки в месяц до 1 января. Я думаю, вам следует установить на 12 декабря.
Вы правы. Я был бомбили с другими вещами, когда я это сделал ... мои плохие.
Old 03-21-2008
Джим Макнамара jim mcnamara is offline Forum Staff  
...@...
  
 

Регистрация: Февраль 2004
Местонахождение: Н. М.
Сообщения: 5800
И Perl/Python / C является лучшим решением.
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 04:29 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0