The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Hvordan få Forrige måned i Korn Shell nvuradi Shell programmering og Skripting 1 03-19-2008 12:31
Hvordan finne den første dagen i forrige måned i UNIX? mohapatra Shell programmering og Skripting 10 07-02-2007 08:57
Angi en tidligere dato som startdato i shell script ritzwan0 Shell programmering og Skripting 2 09-25-2006 05:58
Hvordan komme forrige måned filer savitha Shell programmering og Skripting 7 03-23-2006 05:16
filnavn bruker forrige måned beilstwh Shell programmering og Skripting 1 08-04-2004 04:21

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 02-25-2008
sirrtuan sirrtuan is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Innlegg: 18
Hjelp, jeg trenger å få de siste dato for forrige måned

Hei, Jeg er ny med Unix, jeg prøver å få en siste dagen i forrige måned med dette formatet:% b% d% Y (eksempel: Feb 25 2008).
Her er det jeg har så langt.

#! / bin / ksh
cur_month \u003d `date +% m`
cur_year \u003d `date +% Y`
prev_month \u003d$(($ cur_month-1))

# Sjekk om dette er januar
if [$ prev_month-lt 1]

prev_year \u003d$(($ cur_year-1))
prev_month \u003d 12
LastDayOfMonth \u003d `/ bin / cal $ prev_month $ prev_year | grep-v" ^ $ "| tail -1 | awk '(print $ NF)'`
ellers
LastDayOfMonth \u003d `/ bin / cal $ prev_month $ cur_year | grep-v" ^ $ "| tail -1 | awk '(print $ NF)'`
fi
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u0
Jeg kan få den siste datoen for forrige måned, men jeg vet ikke hvordan å sette den tilbake i det formatet som jeg ønsket. Please help.

Takk.
  #2 (permalink)  
Old 02-25-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Bli Dato: juni 2003
Sted: Skottland
Innlegg: 431
fortsetter i samme stil som skriptet prøve å bruke koden slik:

Code:
/bin/cal $prev_month $cur_year | grep -v "^$" | sed -n  '1p;$p' | tr "\n" " "  | awk '{print substr($1,1,3),$NF,$2}'
HTH
  #3 (permalink)  
Old 02-25-2008
sirrtuan sirrtuan is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Innlegg: 18
Tytalus,

Takk for raske svar, er koden gir meg et format som jeg trengte, men det ga meg den aktuelle måneden. Jeg leter etter en siste dato i forrige måned.
Vær råd.

Takk.
  #4 (permalink)  
Old 02-25-2008
sirrtuan sirrtuan is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Innlegg: 18
Jeg fikk det - beklager

Tusen takk for hjelpen.
  #5 (permalink)  
Old 02-25-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Bli Dato: juni 2003
Sted: Skottland
Innlegg: 431
Code:
#  cat lastday.ksh
#!/bin/ksh
cur_month=`date +%m`
cur_year=`date +%Y`
prev_month=$(($cur_month-1))

# Check to see if this is January
if [ $prev_month -lt 1 ]
then
prev_year=$(($cur_year-1))
prev_month=12
LastDayOfMonth=`/bin/cal $prev_month $cur_year | grep -v "^$" | sed -n  '1p;$p' | tr "\n" " "  | awk '{print substr($1,1,3),$NF,$2}'`
else
LastDayOfMonth=`/bin/cal $prev_month $cur_year | grep -v "^$" | sed -n  '1p;$p' | tr "\n" " "  | awk '{print substr($1,1,3),$NF,$2}'`
fi
echo $LastDayOfMonth


#  ./lastday.ksh
Jan 31 2008


#  date
Mon Feb 25 16:23:48 GMT 2008
  #6 (permalink)  
Old 02-28-2008
sirrtuan sirrtuan is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Innlegg: 18
Et annet spørsmål, hvordan får jeg den første av i forrige måned?
Jeg er ikke familia med sed.

Takk.
  #7 (permalink)  
Old 02-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Bli Dato: juni 2003
Sted: Skottland
Innlegg: 431
Code:
/bin/cal $month $year| grep -v "^$" | sed -n  '1p;3p' | tr "\n" " "  | awk '{print substr($1,1,3),$3,$2}'
Bør arbeide ;-)
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 11:34.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0