The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
beräkningar i awk / sed anchal_khare Shell-programmering och Skript 3 03-26-2009 11:41
Datum Beräkningar mitschcg UNIX for Dummies Frågor & Svar 8 03-06-2009 04:40
ksh, beräkningar använder bc cesarNZ Shell-programmering och Skript 2 12-14-2008 10:42
Temne Beräkningar Nysif Steve UNIX for Dummies Frågor & Svar 5 09-14-2007 08:49
Float beräkningar sharmavr UNIX for Dummies Frågor & Svar 1 07-26-2006 02:18

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 04-22-2009
jidsh jidsh is offline
Registered User
  
 

Join Date: april 2009
Inlägg: 15
Behöver du hjälp med Datum beräkningar ksh

Hej Gurus,

Jag skriver ett manus där vi in två datum, ett en från den dag och den andra en till i dag. Jag måste kontrollera att skillnaden mellan två datum är alltid mindre än eller lika med 60 dagar.
Jag kunde inte hitta något datum nyttovärde i ksh som kan hjälpa mig med detta.
Slutligen är jag som beslutar sig för att skriva ett Java-kod och kalla det från skriptet eftersom det är mycket lättare och snabbare att göra det i Java än i Unix.
Kan någon vägleda mig till en väg i UNIX för att göra detta istället för att skriva ett annat skript eller Java eller C-kod för att göra det och kalla det här.

Tack på förhand.
  #2 (permalänk)  
Old 04-22-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.305
En länk för att beräkna dagar förflutit mellan 2 datum.

Hälsningar
  #3 (permalänk)  
Old 04-22-2009
colemar colemar is offline
Registered User
  
 

Join Date: april 2009
Ort: Trento, Italien
Inlägg: 116
Citat:
Ursprungligen postat av jidsh View Post
Jag måste kontrollera att skillnaden mellan två datum är alltid mindre än eller lika med 60 dagar.
Om du använder externa kommandot datum är inte mot reglerna, och förutsatt att du använder datum från GNU Coreutil sedan:
Kod:
colemar@deb:~$ cat days_between
#!/bin/sh

typeset -i days_between
function days_between {
  days_between=$((($(date -d $2 +%s)-$(date -d $1 +%s))/86400))
}

days_between $1 $2
echo $days_between

colemar@deb:~$ ./days_between 2008-04-22 2009-04-22
365
  #4 (permalänk)  
Old 04-22-2009
jidsh jidsh is offline
Registered User
  
 

Join Date: april 2009
Inlägg: 15
Colemar,

Tack för din hjälp.
Jag har provat det och det är vad som har hänt.

Citat:
[~ / jiddvish]>. / days_between 2008-04-22 2009-04-22
. / days_between: typeset: hittades inte
. / days_between: function: not found
. / days_between: syntax error på rad 5: "days_between \u003d $" oväntade

[~ / jiddvish]> uname-a
SunOS <server namn strykas från here> 5.9 Generic_118558-35 sun4u sparc SUNW, Sun-Fire-V490
Franklin,
Jag gjorde gå igenom manus som du skickade men jag ansåg att det är för lång och stor för att gå igenom för detta lilla validering. Tack så mycket för din tid och kraft men.

Det finns en strategi jag konstruerade jag och jobbar på det just nu.
Jag skapar en array som ska innehålla antalet dagar som förflutit i slutet av varje månad under kalenderåret. Baserat på den månad som trädde jag kan få det antal dagar som gått i slutet av föregående månad, lägg den med den dagen i den månad in och få antal dagar förflutit under året. Om skillnaden är negativ, vilket innebär att året har förändrats. Jag hoppas att den logiken kommer att fungera. När koden är klar jag kommer att klistra in den för andra som kan använda den.

Tack ännu en gång. Jag uppskattar det verkligen.
  #5 (permalänk)  
Old 04-23-2009
colemar colemar is offline
Registered User
  
 

Join Date: april 2009
Ort: Trento, Italien
Inlägg: 116
Ersätt #! / bin / sh med #! / bin / ksh
  #6 (permalänk)  
Old 04-23-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.305
Citat:
Ursprungligen postat av jidsh View Post
Franklin,
Jag gjorde gå igenom manus som du skickade men jag ansåg att det är för lång och stor för att gå igenom för detta lilla validering. Tack så mycket för din tid och kraft men.
Placera manus i din katalog med namnet datecalc och kallar det i ditt manus som:

Kod:
var=$(./datecalc -a 2009 04 22 - 2008 04 22)

echo $var
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 10:51.


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