The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX e avanzata per utenti esperti
.
google unix.com



UNIX e avanzata per utenti esperti Expert-to-Expert. Ulteriori avanzata UNIX, comandi UNIX, Linux, Sistemi Operativi, System Administration, Programmazione, Shell, Shell Script, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Aiuto, ho bisogno di avere l'ultima data del mese precedente sirrtuan Shell scripting e di programmazione 11 10-14-2008 06:59 AM
Usa data comando per trovare il mese scorso Cbish68 Shell scripting e di programmazione 5 08-10-2007 11:32 AM
scoprire mesi a partire da una data rudoraj UNIX for Dummies Domande & Risposte 5 07-03-2007 09:21 AM
Formattazione Data (l'aggiunta di un mese) Devid UNIX for Dummies Domande & Risposte 4 01-18-2006 10:31 AM
come arrivare mese scorso data in UNIX rajan_ka1 Shell scripting e di programmazione 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 Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 03-19-2008
vanathi vanathi is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 6
ultima data di fine mese

Salve,

Come raggiungere l'ultimo mese della data di fine? (hanno la data corrente) attraverso s script di shell. Ho bisogno di farlo e di passare ad una procedura.

Si prega di consulenza.
Grazie in anticipo.
  #2 (permalink)  
Old 03-19-2008
Yogesh Sawant's Avatar
Yogesh Sawant Yogesh Sawant is offline Forum Staff  
Part Time Moderatore e papà a tempo pieno
  
 

Join Date: Sep 2006
Ubicazione: Rossem, Tazenda
Messaggi: 1.086
verificare se è possibile trovare una soluzione qui
  #3 (permalink)  
Old 03-21-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Iscriviti Data: febbraio 2004
Ubicazione: MN
Messaggi: 5.805
Per riferimento futuro, se qualcuno legge questo:
provare cal

Codice:
#!/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


Ultima modifica di Jim McNamara; al 03/21/2008 01:01 PM.. Motivo: cambiato mesi \u003d 1 al mese \u003d 12
  #4 (permalink)  
Old 03-21-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Iscriviti Data: dicembre 2007
Location: Home di 17-volte campione del mondo Boston Celtics
Interventi: 1.311
Question Precedente, ma mese \u003d 1?


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

Non dovrebbe essere questo?

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

Gennaio è 1 mese, per cui quando si sottrarre 1 si ottiene 0. E lei ha giustamente trappola per essa, decrementare l'anno, ma l'impostazione del mese a 1 per i mesi di gennaio. Penso che si dovrebbe impostare a 12 per il mese di dicembre.
  #5 (permalink)  
Old 03-21-2008
curleb curleb is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2008
Località: Qui, nella mia torre d'avorio ...
Interventi: 68
Perlapproccio basato derivanti indietro nel tempo ... non ho molto la briga di cercare di tornare al futuro, come ancora. Ma anche gli anni bisestili maniglie ...


Codice:
$ 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
===


Codice:
$ # 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 (permalink)  
Old 03-21-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Iscriviti Data: febbraio 2004
Ubicazione: MN
Messaggi: 5.805
Citazione:
Originalmente inviato da joeyg View Post
Codice:
if [[ $month -eq 0 ]] ; then
   let year=$year-1
   let month=1
fi

Non dovrebbe essere questo?

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

Gennaio è 1 mese, per cui quando si sottrarre 1 si ottiene 0. E lei ha giustamente trappola per essa, decrementare l'anno, ma l'impostazione del mese a 1 per i mesi di gennaio. Penso che si dovrebbe impostare a 12 per il mese di dicembre.
Lei ha ragione. Mi è stato bombardato con gli altri quando le cose che ho fatto ... il mio male.
  #7 (permalink)  
Old 03-21-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Iscriviti Data: febbraio 2004
Ubicazione: MN
Messaggi: 5.805
E perl/python / C è una migliore soluzione.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 06:47 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0