The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Hvordan kommer man i den foregående måned er Korn Shell nvuradi Shell Programmering og Scripting 1 03-19-2008 12:31 AM
Sådan finder du den første dag i foregående måned i UNIX? Mohapatra Shell Programmering og Scripting 10 07-02-2007 09:57 PM
Angiv en tidligere dato som startdato i shell script ritzwan0 Shell Programmering og Scripting 2 09-25-2006 06:58 PM
Hvordan kommer man foregående måned filer savitha Shell Programmering og Scripting 7 03-23-2006 05:16 AM
filnavn ved hjælp af foregående måned beilstwh Shell Programmering og Scripting 1 08-04-2004 05:21 PM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 02-25-2008
sirrtuan sirrtuan is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 18
Hjælp, jeg har brug for at få den sidste dag i foregående måned

Hej, jeg er ny med Unix, jeg forsøger at få en sidste dag i foregående måned med dette format:% b% d% Y (eksempel: Feb 25 2008).
Her er hvad jeg har indtil videre.

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

# Kontroller at se, om det 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)'`
anden
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 sidste dag i den foregående måned, men jeg ved ikke, hvordan man kan sætte det tilbage til det format, som jeg ønskede. Please help.

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

Join Date: Jun 2003
Location: Skotland
Posts: 431
fortsætter i samme stil som dit script prøve at bruge kode som:


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
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 18
Tytalus,

Tak for det hurtige svar, er din kode gav mig et format, som jeg havde brug for, men det gav mig den aktuelle måned. Jeg leder efter en sidste dag i den foregående måned.
Please rådgivning.

Tak.
  #4 (permalink)  
Old 02-25-2008
sirrtuan sirrtuan is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 18
Jeg fik det - sorry

Mange tak for din hjælp.
  #5 (permalink)  
Old 02-25-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo (1 .. 9) ^ 2 \; | bc
  
 

Join Date: Jun 2003
Location: Skotland
Posts: 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
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 18
Et andet spørgsmål, hvordan får jeg den første af en foregående måned?
Jeg er ikke familia med sed.

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

Join Date: Jun 2003
Location: Skotland
Posts: 431

Code:
/bin/cal $month $year| grep -v "^$" | sed -n  '1p;3p' | tr "\n" " "  | awk '{print substr($1,1,3),$3,$2}'

Bør arbejde ;-)
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:40 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0