The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > UNIX för avancerade & Expertanvändare
.
google unix.com



UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Hjälp, jag måste få den sista dagen i föregående månad sirrtuan Shell-programmering och Skript 11 10-14-2008 06:59
Använd datum kommando för att hitta senaste månaden Cbish68 Shell-programmering och Skript 5 08-10-2007 11:32
ta reda månad från ett datum rudoraj UNIX for Dummies Frågor & Svar 5 07-03-2007 09:21
Formatering Datum (lägger till en månad) devid UNIX for Dummies Frågor & Svar 4 01-18-2006 10:31
hur man får månad sista dagen i UNIX rajan_ka1 Shell-programmering och Skript 12 10-04-2005 08:20

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 Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-19-2008
vanathi vanathi is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 6
senaste månaden slutdatum

Hej,

Hur man får lastmonth slutdatum? (har dagens datum) via s shell script. Jag måste få det och ge det till ett förfarande.

Vänligen råd.
Tack på förhand.
  #2 (permalänk)  
Old 03-19-2008
Yogesh Sawant's Avatar
Yogesh Sawant Yogesh Sawant is offline Forum Staff  
Del Temne Moderator och Full Temne pappa
  
 

Join Date: Sep 2006
Ort: Rossem, Tazenda
Inlägg: 1.086
kontrollera om du kan hitta en lösning här
  #3 (permalänk)  
Old 03-21-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.776
För framtida referens om någon läser detta:
Försök CAL
Kod:
#!/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

Senast ändrad av Jim McNamara, 03-21-2008 vid 01:01.. Orsak: ändrats månad \u003d 1 till månad \u003d 12
  #4 (permalänk)  
Old 03-21-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
Modérateur
  
 

Join Date: Dec 2007
Ort: Home av 17-Temne världen mästare Boston Celtics
Inlägg: 1311
Question Före år, men månad \u003d 1?

Kod:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=1
fi
Borde inte detta vara?
Kod:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=12
fi
Januari är månaden 1, så när du subtrahera 1 får du 0. Och du rätta fällan för det, decrementing året men att ställa in månad till 1 januari. Jag tycker du ska ställa till 12 i december.
  #5 (permalänk)  
Old 03-21-2008
curleb curleb is offline
Registered User
  
 

Join Date: mars 2008
Ort: Här, i mitt elfenbenstorn ...
Inlägg: 68
Perlmetod för som bakåt i tiden ... Jag har inte riktigt brytt sig om att försöka gå tillbaka till framtiden i ännu. Men det också hanterar skottår ...

Kod:
$ 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
===
Kod:
$ # 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
===
  #6 (permalänk)  
Old 03-21-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.776
Citat:
Ursprungligen postat av joeyg View Post
Kod:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=1
fi
Borde inte detta vara?
Kod:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=12
fi
Januari är månaden 1, så när du subtrahera 1 får du 0. Och du rätta fällan för det, decrementing året men att ställa in månad till 1 januari. Jag tycker du ska ställa till 12 i december.
Du har rätt. Jag var bombas med andra saker när jag gjorde det ... mitt fel.
  #7 (permalänk)  
Old 03-21-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.776
Och perl/python / C är en bättre lösning.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:04.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0