The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Создайте директорию год, дата подкаталога и архив файлов madhunk UNIX для чайников Вопросы И Ответы 2 12-13-2007 11:25 AM
Укажите дату, что и предыдущие даты начала в оболочке сценарий ritzwan0 Shell программирование и сценарии 2 09-25-2006 05:58 PM
Каталог дате создания Bab00shka UNIX для чайников Вопросы И Ответы 2 06-29-2005 10:42 AM
создать директорию с именем текущей даты flowrats UNIX для чайников Вопросы И Ответы 2 07-30-2002 11:26 PM
Как найти Предыдущая дата и едете дата arunava_maity UNIX для чайников Вопросы И Ответы 2 05-24-2001 11:41 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 11-18-2007
sridhusha sridhusha is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2007
Сообщений: 16
хотите создать каталог с предыдущей датой

Мне нужна помощь в complet ниже скрипт:

DATE1 \u003d `дата" +% D "`

# DATE2 \u003d `$ Expr DATE1 - 1`

# DATE3 \u003d $ DATE2 `дата" +% M% Y "`

DATE4 \u003d `дата" +% A "`

если [$ DATE4 Пн \u003d], затем

DATE2 \u003d `$ Expr DATE1 - 3`

еще

DATE2 \u003d `$ Expr DATE1 - 1`

FI

CD / data/builds/612hf8/SAS/retail/plan_61/scripts/meserver

DATE3 \u003d $ DATE2 `дата" +% M% Y "`

mkdir $ DATE3

Эхо "реж создали"

М. В. *. журнала $ DATE3

Эхо "журналы переехала к $ DATE3 папку"



Приведенный выше скрипт создает каталог с накануне даты.


наряду с указанными выше сценарий выхода, я должен, как создавать каталоги конца месяца, что означает 30 или 31 день. если предположить, дата 1-го месяца, этот сценарий не создает каталог в предыдущие даты, которые 30 или 31.

Пожалуйста, некоторые тела мне помочь завершить выше сценария.

Буду признателен Вам за помощью.

Спасибо,
Sridhar.
Old 11-18-2007
prowla prowla is offline
Только чтение
  
 

Регистрация: Nov 2007
Сообщений: 165
Ага - даты арифметики.
Можно создать массив с 28/29/30/31 дней поиска в течение нескольких месяцев и leapyear расчетов.

Однажды я написал программу под названием C timecalc. Вот она, если она по какой-либо использования:
Код:
/*
 * Name:
 *	timecalc.c
 *
 * Purpose:
 *	Time calculations.
 #
 * Usage:
 *	timecalc [+|-]n [seconds|minutes|hours|days|weeks]
 *
 * History:
 *	050713	GZB	Original.
 *
 */

static char *gsVersion="@(#)timecalc.c GZB 050713";

#include <time.h>
#include <stdlib.h>
#include <sys/time.h>

int gbDebug=0;
int gbVerbose=0;
double gfTimeDiff=0;	/* What to change the time by. */
int giTimeDiff=0;	/* What to change the time by. */
int giTimeUnits=1;	/* Time units scaled to seconds. */
char gsDateSep[10]="/";	/* Date separator. */
char gsTimeSep[10]=":";	/* Time separator. */
char gsDtoTSep[10]=" ";	/* Separator between date & time. */


Usage()
{
	printf("usage: timecalc [+|-]n [seconds|minutes|hours|days|weeks]\n");
	exit(1);
}


CommandArgs(argc,argv)
	int argc;
	char **argv;
{
	int i;

	if (gbDebug) printf("CommandArgs()\n");

	for ( i=1; i<argc; i++ )
	{
		if (gbDebug) printf("%d/%d\n", i, argc);

		switch (*argv[i])
		{
			case '+': gfTimeDiff=atof(argv[i]+1); break;
			case '-': gfTimeDiff=-atof(argv[i]+1); break;
			case 's': giTimeUnits=1; break;
			case 'm': giTimeUnits=60; break;
			case 'h': giTimeUnits=60*60; break;
			case 'd': giTimeUnits=60*60*24; break;
			case 'w': giTimeUnits=60*60*24*7; break;
			case 'D': gbDebug=1; break;
			case 'V': gbVerbose=1; break;
			/* case 'T': *gsDateSep='\0'; *gsTimeSep='\0'; break; */
			case 'T': strcpy(gsDateSep,""); strcpy(gsTimeSep,""); break;
			default: Usage(); break;
		}
	}

	/*
	giTimeDiff *= giTimeUnits;
	if (gbDebug) printf( "%d %d\n", giTimeDiff, giTimeUnits);
	*/

	giTimeDiff = (int)(gfTimeDiff * (double)giTimeUnits);
	if (gbDebug) printf( "%d %f %d\n", giTimeDiff, gfTimeDiff, giTimeUnits);
}


PrintTime(tp)
	struct tm *tp;
{
	printf("%04d%s%02d%s%02d%s%02d%s%02d%s%02d",
		tp->tm_year+1900,
		gsDateSep,
		tp->tm_mon+1,
		gsDateSep,
		tp->tm_mday,
		gsDtoTSep,
		tp->tm_hour,
		gsTimeSep,
		tp->tm_min,
		gsTimeSep,
		tp->tm_sec
		);
}


main(argc,argv)
	int argc;
	char **argv;
{
	time_t	t;
	time_t	tnew;
	struct tm *tp;

	t = (time_t)time((time_t *)0);
	if (gbDebug) printf("Seconds since epoch = %d\n", t);

	CommandArgs(argc,argv);

	tnew = t + giTimeDiff;
	if (gbDebug) printf("Seconds adjusted by %d = %d\n", giTimeDiff, tnew);

	if (gbVerbose)
	{
		tp = localtime(&t);
		PrintTime(tp);
		printf("\n");
		/* printf(" -> "); */
	}

	tp = localtime(&tnew);
	PrintTime(tp);
	printf("\n");
}
Все Отказ от обычной, не гарантии, а так-на применить!

Кроме того, можно попытаться сделать некоторые умные использование "CAL" (календарь) программы.
Old 11-18-2007
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4294
Проверьте человек странице даты, если-D или - дата suported можно сделать что-то вроде:

Дата - дата \u003d'1 день назад '

Привет
Old 11-18-2007
sandy0077's Avatar
sandy0077 sandy0077 is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2007
Место проведения: Великобритания
Сообщений: 10
Вы можете получить в предыдущий день с даты следующей командой:

DATE_STAMP \u003d `TZ \u003d КНТ +24 дату +% Y% M% D`


Попробуйте следующие ссылки:

Получение вчера ДАТА
Old 11-18-2007
sandy0077's Avatar
sandy0077 sandy0077 is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2007
Место проведения: Великобритания
Сообщений: 10
Post

Привет,

Используйте следующую команду, чтобы получить накануне даты.

DATE_STAMP \u003d `TZ \u003d КНТ +24 дату +% Y% M% D`
Old 11-19-2007
sridhusha sridhusha is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2007
Сообщений: 16
хотите создать каталог с предыдущей датой

Сэнди Спасибо .... свою работу.

но я не понимая того, что КНТ TZ \u003d 24, я никогда не видел в руководстве Дата странице.

Спасибо еще раз.

Привет,
SRdhar.
Old 11-19-2007
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Модератор
  
 

Регистрация: Oct 2003
Место проведения: -31.96,115.84
Сообщения: 1407
Время-зона "хитрость" является ненадежной. Взгляните на часто задаваемые вопросы.
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 01:44 PM.


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