`/bin/date "+%Y%m%d"`
Выводит дату в формате 20030109
Как вывести дату вчераднего дня в тамом же формате?
>`/bin/date "+%Y%m%d"`
>Выводит дату в формате 20030109
>Как вывести дату вчераднего дня в тамом же формате?man date
особенно обратить внимание на опцию -v
>>`/bin/date "+%Y%m%d"`
>>Выводит дату в формате 20030109
>>Как вывести дату вчераднего дня в тамом же формате?
>
>man date
>особенно обратить внимание на опцию -vСпасибо , все вышло
вы что прикалываетесь?
man date :DATE(1) FSF DATE(1)
NAME
date - print or set the system date and timeSYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]DESCRIPTION
Display the current time in the given FORMAT, or set the
system date.-d, --date=STRING
display time described by STRING, not `now'-f, --file=DATEFILE
like --date once for each line of DATEFILE-I, --iso-8601[=TIMESPEC] output an ISO-8601 compliant
date/time string.
TIMESPEC=`date' (or missing) for date only,
`hours', `minutes', or `seconds' for date and time
to the indicated precision.-r, --reference=FILE
display the last modification time of FILE-R, --rfc-822
output RFC-822 compliant date string-s, --set=STRING
set time described by STRING-u, --utc, --universal
print or set Coordinated Universal Time--help display this help and exit
--version
output version information and exitFORMAT controls the output. The only valid option for the
second form specifies Coordinated Universal Time. Inter-
preted sequences are:%% a literal %
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length (Sun-
day..Saturday)%b locale's abbreviated month name (Jan..Dec)
%B locale's full month name, variable length (Jan-
uary..December)%c locale's date and time (Sat Nov 04 12:02:33 EST
1989)%d day of month (01..31)
%D date (mm/dd/yy)
%e day of month, blank padded ( 1..31)
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%p locale's AM or PM
%r time, 12-hour (hh:mm:ss [AP]M)
%s seconds since `00:00:00 1970-01-01 UTC' (a GNU
extension)%S second (00..60)
%t a horizontal tab
%T time, 24-hour (hh:mm:ss)
%U week number of year with Sunday as first day of
week (00..53)%V week number of year with Monday as first day of
week (01..53)%w day of week (0..6); 0 represents Sunday
%W week number of year with Monday as first day of
week (00..53)%x locale's date representation (mm/dd/yy)
%X locale's time representation (%H:%M:%S)
%y last two digits of year (00..99)
%Y year (1970...)
%z RFC-822 style numeric timezone (-0500) (a nonstan-
dard extension)%Z time zone (e.g., EDT), or nothing if no time zone
is determinableBy default, date pads numeric fields with zeroes. GNU
date recognizes the following modifiers between `%' and a
numeric directive.`-' (hyphen) do not pad the field `_' (underscore)
pad the field with spacesAUTHOR
Written by David MacKenzie.REPORTING BUGS
Report bugs to <bug-sh-utils@gnu.org>.COPYRIGHT
Copyright © 2000 Free Software Foundation, Inc.
This is free software; see the source for copying condi-
tions. There is NO warranty; not even for MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.SEE ALSO
The full documentation for date is maintained as a Texinfo
manual. If the info and date programs are properly
installed at your site, the commandinfo date
should give you access to the complete manual.
GNU sh-utils 2.0.11 March 2002 DATE(1)
и где здесь опция -v ???
'/bin/date -v-1d "+%Y%m%d"'
>вы что прикалываетесь?
>man date :
........
>и где здесь опция -v ???в FreeBSD есть.
>вы что прикалываетесь?
>man date :
>
>DATE(1)
>
> FSF
>
> DATE(1)
>
>
>
>NAME
> date - print or set
>the system date and time
>
>SYNOPSIS
> date [OPTION]... [+FORMAT]
> date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
>
>DESCRIPTION
> Display the current
>time in the given FORMAT, or set the
> system date.
>
> -d, --date=STRING
>
> display time described by STRING, not `now'
>
> -f, --file=DATEFILE
>
> like --date once for each line of DATEFILE
>
> -I, --iso-8601[=TIMESPEC] output
>an ISO-8601 compliant
> date/time string.
>
> TIMESPEC=`date' (or missing) for
> date only,
>
> `hours', `minutes', or `seconds' for date and time
>
>
> to the indicated precision.
>
> -r, --reference=FILE
>
> display the last modification time of FILE
>
> -R, --rfc-822
>
> output RFC-822 compliant date string
>
> -s, --set=STRING
>
> set time described by STRING
>
> -u, --utc, --universal
>
> print or set Coordinated Universal Time
>
> --help display this help and
>exit
>
> --version
>
> output version information and exit
>
> FORMAT controls the output.
>The only valid option for the
> second form specifies Coordinated
>Universal Time. Inter-
> preted sequences are:
>
> %%
>a literal %
>
> %a
>locale's abbreviated weekday name (Sun..Sat)
>
> %A
>locale's full weekday name, variable length (Sun-
>
> day..Saturday)
>
> %b
>locale's abbreviated month name (Jan..Dec)
>
> %B
>locale's full month name, variable length (Jan-
>
>
> uary..December)
>
> %c
>locale's date and time (Sat Nov 04 12:02:33
> EST
>
> 1989)
>
> %d
>day of month (01..31)
>
> %D
>date (mm/dd/yy)
>
> %e
>day of month, blank padded ( 1..31)
>
> %h
>same as %b
>
> %H
>hour (00..23)
>
> %I
>hour (01..12)
>
> %j
>day of year (001..366)
>
> %k
>hour ( 0..23)
>
> %l
>hour ( 1..12)
>
> %m
>month (01..12)
>
> %M
>minute (00..59)
>
> %n
>a newline
>
> %p
>locale's AM or PM
>
> %r
>time, 12-hour (hh:mm:ss [AP]M)
>
> %s
>seconds since `00:00:00 1970-01-01 UTC' (a
>GNU
>
> extension)
>
> %S
>second (00..60)
>
> %t
>a horizontal tab
>
> %T
>time, 24-hour (hh:mm:ss)
>
> %U
>week number of year with Sunday as first
>day of
>
> week (00..53)
>
> %V
>week number of year with Monday as
>first day of
>
> week (01..53)
>
> %w
>day of week (0..6); 0 represents Sunday
>
> %W
>week number of year with Monday as first
>day of
>
> week (00..53)
>
> %x
>locale's date representation (mm/dd/yy)
>
> %X
>locale's time representation (%H:%M:%S)
>
> %y
>last two digits of year (00..99)
>
> %Y
>year (1970...)
>
> %z
>RFC-822 style numeric timezone (-0500) (a nonstan-
>
> dard extension)
>
> %Z
>time zone (e.g., EDT), or nothing if no time
>zone
>
> is determinable
>
> By default, date
> pads numeric fields with zeroes. GNU
> date recognizes the following modifiers
>between `%' and a
> numeric directive.
>
>
> `-' (hyphen) do not pad the field `_'
>(underscore)
>
> pad the field with spaces
>
>AUTHOR
> Written by David MacKenzie.
>
>REPORTING BUGS
> Report bugs to <bug-sh-utils@gnu.org>.
>
>COPYRIGHT
> Copyright © 2000 Free Software
>Foundation, Inc.
> This is free software; see
>the source for copying condi-
> tions. There is NO
>warranty; not even for MERCHANTABILITY
> or FITNESS FOR A PARTICULAR
>PURPOSE.
>
>SEE ALSO
> The full documentation for date
>is maintained as a Texinfo
> manual. If
>the info and date programs are
>properly
> installed at your site, the
>command
>
>
> info date
>
> should give you access to
>the complete manual.
>
>
>
>GNU sh-utils 2.0.11 March
>2002
> DATE(1)
>
>и где здесь опция -v ???
а здесь смотри опцию -d
приемр из info date:
date --date='2 days ago'
>`/bin/date "+%Y%m%d"`
>Выводит дату в формате 20030109
>Как вывести дату вчераднего дня в тамом же формате?Sam s takoj problemmoj stolknulsja god nazad. Delal doma script na bash'e v Linuxe - vse klassno rabotaet, prinoshu na rabotu OpenBSD - her! ;( Tak i ne smog ni kak v OpenBSD zastavit' "date" vyvodit' vcherashnij den'. Prishli k vyvodu, chto v raznyh operacionkah "date" otlichajutsja, i ochen' sil'no. Vozmozhno i dlja OpenBSD drugaja versija imeetsja, no iskat' ne stal, tak kak izvratilsja i "dobyl" vcherashnij den' nemnogo podrugomu.
>>`/bin/date "+%Y%m%d"`
>>Выводит дату в формате 20030109
>>Как вывести дату вчераднего дня в тамом же формате?
>
>Sam s takoj problemmoj stolknulsja god nazad. Delal doma script na bash'e
>v Linuxe - vse klassno rabotaet, prinoshu na rabotu OpenBSD -
>her! ;( Tak i ne smog ni kak v OpenBSD zastavit'
>"date" vyvodit' vcherashnij den'. Prishli k vyvodu, chto v raznyh operacionkah
>"date" otlichajutsja, i ochen' sil'no. Vozmozhno i dlja OpenBSD drugaja versija
>imeetsja, no iskat' ne stal, tak kak izvratilsja i "dobyl" vcherashnij
>den' nemnogo podrugomu.гнутый date из sh-utils и как уже было сказано:
gdate --date='1 day ago'
ps. про гну всегда надо помнить - платформо-независимые утилиты
>>>`/bin/date "+%Y%m%d"`
>>>Выводит дату в формате 20030109
>>>Как вывести дату вчераднего дня в тамом же формате?
>>
>>Sam s takoj problemmoj stolknulsja god nazad. Delal doma script na bash'e
>>v Linuxe - vse klassno rabotaet, prinoshu na rabotu OpenBSD -
>>her! ;( Tak i ne smog ni kak v OpenBSD zastavit'
>>"date" vyvodit' vcherashnij den'. Prishli k vyvodu, chto v raznyh operacionkah
>>"date" otlichajutsja, i ochen' sil'no. Vozmozhno i dlja OpenBSD drugaja versija
>>imeetsja, no iskat' ne stal, tak kak izvratilsja i "dobyl" vcherashnij
>>den' nemnogo podrugomu.
>
>гнутый date из sh-utils и как уже было сказано:
>
>gdate --date='1 day ago'
>
>ps. про гну всегда надо помнить - платформо-независимые утилитыDa, eto horosho. Esli by ja seichas reshil tot script peredelat' (a eto vrjatli - len', da i ne ohota rabotujuschuju sistemu trogat', che ne tak, tak potom malo chto sam zatrahaeshsja, tak esche i zatrahujut vse komu ne len') objazatel'no vospol'zovalsjaby etim sovetom. A togda, god nazad, ja na etom servake ni chego administrirovat' ne mog, i ni chego stavit' tozhe. Ja uzh dazhe hotel na C malen'kuju progu napisat' kotoraja sama predyduschij den' vozvraschaet. No vykrutilsja po dugomu ;)
A vot vyvod iz vsego naprashivaetsja plohoj: v nekotoryh sistemah "date" prosto ne mozhet vydat' predysuschij den'. Ne predusmotrenno etogo v nih;(((
Nu toka mne samomu takoj vyvod strannovatym kazhetsja.
>>>>`/bin/date "+%Y%m%d"`
>>>>Выводит дату в формате 20030109
>>>>Как вывести дату вчераднего дня в тамом же формате?
>>>
>>>Sam s takoj problemmoj stolknulsja god nazad. Delal doma script na bash'e
>>>v Linuxe - vse klassno rabotaet, prinoshu na rabotu OpenBSD -
>>>her! ;( Tak i ne smog ni kak v OpenBSD zastavit'
>>>"date" vyvodit' vcherashnij den'. Prishli k vyvodu, chto v raznyh operacionkah
>>>"date" otlichajutsja, i ochen' sil'no. Vozmozhno i dlja OpenBSD drugaja versija
>>>imeetsja, no iskat' ne stal, tak kak izvratilsja i "dobyl" vcherashnij
>>>den' nemnogo podrugomu.
>>
>>гнутый date из sh-utils и как уже было сказано:
>>
>>gdate --date='1 day ago'
>>
>>ps. про гну всегда надо помнить - платформо-независимые утилиты
>
> Da, eto horosho. Esli by ja seichas reshil tot script
>peredelat' (a eto vrjatli - len', da i ne ohota rabotujuschuju
>sistemu trogat', che ne tak, tak potom malo chto sam zatrahaeshsja,
>tak esche i zatrahujut vse komu ne len') objazatel'no vospol'zovalsjaby etim
>sovetom. A togda, god nazad, ja na etom servake ni chego
>administrirovat' ne mog, i ni chego stavit' tozhe. Ja uzh dazhe
>hotel na C malen'kuju progu napisat' kotoraja sama predyduschij den' vozvraschaet.
>No vykrutilsja po dugomu ;)
> A vot vyvod iz vsego naprashivaetsja plohoj: v nekotoryh sistemah "date"
>prosto ne mozhet vydat' predysuschij den'. Ne predusmotrenno etogo v nih;(((
>
> Nu toka mne samomu takoj vyvod strannovatym kazhetsja.date не может быть на всех *nix'ах одинаковой, даже в BSD'ях разный, ну и потом рассчитана утилита на показ и установку даты.
>>>>>`/bin/date "+%Y%m%d"`
>>>>>Выводит дату в формате 20030109
>>>>>Как вывести дату вчераднего дня в тамом же формате?
>>>>
>>>>Sam s takoj problemmoj stolknulsja god nazad. Delal doma script na bash'e
>>>>v Linuxe - vse klassno rabotaet, prinoshu na rabotu OpenBSD -
>>>>her! ;( Tak i ne smog ni kak v OpenBSD zastavit'
>>>>"date" vyvodit' vcherashnij den'. Prishli k vyvodu, chto v raznyh operacionkah
>>>>"date" otlichajutsja, i ochen' sil'no. Vozmozhno i dlja OpenBSD drugaja versija
>>>>imeetsja, no iskat' ne stal, tak kak izvratilsja i "dobyl" vcherashnij
>>>>den' nemnogo podrugomu.
>>>
>>>гнутый date из sh-utils и как уже было сказано:
>>>
>>>gdate --date='1 day ago'
>>>
>>>ps. про гну всегда надо помнить - платформо-независимые утилиты
>>
>> Da, eto horosho. Esli by ja seichas reshil tot script
>>peredelat' (a eto vrjatli - len', da i ne ohota rabotujuschuju
>>sistemu trogat', che ne tak, tak potom malo chto sam zatrahaeshsja,
>>tak esche i zatrahujut vse komu ne len') objazatel'no vospol'zovalsjaby etim
>>sovetom. A togda, god nazad, ja na etom servake ni chego
>>administrirovat' ne mog, i ni chego stavit' tozhe. Ja uzh dazhe
>>hotel na C malen'kuju progu napisat' kotoraja sama predyduschij den' vozvraschaet.
>>No vykrutilsja po dugomu ;)
>> A vot vyvod iz vsego naprashivaetsja plohoj: v nekotoryh sistemah "date"
>>prosto ne mozhet vydat' predysuschij den'. Ne predusmotrenno etogo v nih;(((
>>
>> Nu toka mne samomu takoj vyvod strannovatym kazhetsja.
>
>date не может быть на всех *nix'ах одинаковой, даже в BSD'ях разный,Mda... posmotrel man n OpenBSD i uvidel vot takuju frazu :
"STANDARDS
The date utility is expected to be compatible with IEEE Std1003.2
(``POSIX.2'')."
Na skoka ja silen v burzhuiskom, fraza "is expected to be compatible " perevoditsja chtoto kak " ожидается, что совместима ". Tipa oni chego, sami ne uverenny sovmestima ona s Posixom ili net?>ну и потом рассчитана утилита на показ и установку даты.
Inogda ved' dlja ustanovki daty tozhe nuzhno znat' kakoj byl predyduschij den' dazhe esli i ruchkami stavit' a ne iz scripta;), to vse ravno legche byvaet napisat' "1 day ago" a ne vspominat' kakoj segodnja den', osobenno esli eto 1janvarja ili 9marta ;))