The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Vergelijk datum db2 tabel tot gisteren Unix datum sasaliasim Programmeren en Shell Scripting 9 12-01-2008 11:37 PM
Haal de datum en tijd voor afgelopen 1 uur vanaf de huidige datum spch2o Programmeren en Shell Scripting 5 08-29-2008 04:32
Verwerken van een logbestand op basis van datum / tijd input en de datum / tijd op de log-bestand opdoffen Programmeren en Shell Scripting 4 03-16-2008 11:23
datum vergelijken met datum in bestand siog UNIX voor Dummies Questions & Answers 2 10-04-2006 12:10
vergelijken met de datum van vandaag met de datum in een bestand siog UNIX voor Dummies Questions & Answers 4 10-04-2006 11:55

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-28-2006
Jamil Qadir Jamil Qadir is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Posts: 13
Vergelijk Datum en tijd

Hoi

annuleerteken iemand zenden mij de code voor het vergelijken twee datum en draaien in een shell script. volgt de code die actully ik wil, maar ik krijg fouten.

hoogachting


Jamil

. / opt / home / rep / .profile

#! / bin / sh
VALUE \u003d `sqlplus stille rep/Ndk38f7 @ dw <<END
ingesteld pagesize 0 feedback uitgeschakeld verifiëren uitgeschakeld post off echo off
Selecteer TRUNC (max (chg_dt)) van NOT_SCHEDULED_INSTALL;
exit;
END "
Waarde2 \u003d `sqlplus stille rep/Ndk38f7 @ dw <<END
ingesteld pagesize 0 feedback uitgeschakeld verifiëren uitgeschakeld post off echo off
Selecteer TRUNC (SYSDATE) van dubbele;
exit;
Einde `
if [[$ value-eq $ waarde2]]; dan
echo "Geen rijen terug uit database"
exit 0
anders
echo $ waarde2
echo $ value
fi
  #2 (permalink)  
Old 09-28-2006
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.719
Oracle heeft al datum rekenen, heeft ksh niet - gebruik van PL / SQL:
Code:
#!/bin/ksh

date_equal()
{

sqlplus -silent rep/Ndk38f7@dw <<END
set pagesize 0 feedback off verify off heading off echo off serverout on size 100000
DECLARE 
   date1 DATE:=NULL;
   date2 DATE:=NULL;
BEGIN
DBMS_OUTPUT.enable(100000);
select trunc(max(chg_dt)) into date1 from NOT_SCHEDULED_INSTALL;
select trunc(sysdate) into date2 from dual;
IF date1 = date2
THEN
	DBMS_OUTPUT.put_line('1');
ELSE
    DBMS_OUTPUT.put_line('0');
END IF;
END;
/
exit;
END

}

if [[ $(date_equal) -eq 1 ]] ; then
# do something 
else
# do something else
fi
  #3 (permalink)  
Old 09-29-2006
jamilmjq jamilmjq is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Krabbels: 1
datum en tijd probleem

Bedankt voor uw antwoord.
Probleem is het werken niet goed, het is altijd print 'niet ok'

if [[$ (date_equal)-eq 1]], vandaar
echo 'ok'
anders
echo 'niet ok'
fi

bedankt
  #4 (permalink)  
Old 09-29-2006
boppr6470 boppr6470 is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2006
Posten: 8
And Now for Something Different

Ik gebruik dit voor en het werkt vrij goed.
Heeft een paar verschillende dingen met de data, afhankelijk van de parameters.

#! / usr / bin / ksh

# Datecalc - datum Perderabo's rekenmachine
#

USAGE \u003d "\
datecalc-een jaar maand dag - Jaar Maand Dag
datecalc-een jaar maand dag [-|+] n
datecalc-d Jaar Maand Dag
datecalc-D Jaar Maand Dag
datecalc-j jaar maand dag
datecalc-JN
datecalc-l Jaar Maand
gebruik \ "datecalc-help \" te gebruiken voor meer documentatie "

DOCUMENTATIE \u003d "\
datecalc Versie 1.1

datecalc heeft vele manipulaties met data.
datecalc-a is voor datum rekenkundig
datecalc-d of-D converteert een datum om de dag van de week
datecalc-j converteert naar datum of naar Juliaanse dag
datecalc-l de resultaten van de laatste dag van een maand

Alle data moet worden tussen de jaren 1860 en 3999.

datecalc-een, gevolgd door 7 parameters berekent de
aantal dagen tussen twee data. Parameters 2-4 en 6-8
worden data in ymd vorm, en parameter 5 moet een minteken
ondertekenen. De output is een integer. Voorbeeld:

> Datecalc-a 1960 12 31 - 1922 2 2
14212


datecalc-een gevolgd door 5 parameters berekent de
een nieuwe datum te compenseren vanaf een bepaalde datum, Parameters 2-4 moeten
een datum in ymd vorm, moet worden paramter 5 + of -, en
paramter 6 moet een geheel getal. Output wordt een nieuwe datum.
Voorbeeld:

> Datecalc-a 1960 12 31 + 7
1961 1 7


datecalc-d, gevolgd door 3 parameters zullen converteren een datum
een dag van de week. Parameters 2-4 moet een datum in ymd
vorm. Voorbeeld:

> Datecalc-d 1960 12 31
6


datecalc-D is als-d behalve dat de naam van displays
de dag. Voorbeeld:

> Datecalc-D 1960 12 31
Zaterdag


datecalc-j, gevolgd door 3 parameters zullen converteren een datum
Gewijzigd op Juliaanse dag nummer. Voorbeeld:
> Datecalc-j 1960 12 31
37299


datecalc-j, gevolgd door een enkele parameter zal omzetten
Modified Julian Day een nummer aan een datum. Voorbeeld:
> Datecalc-j 37299
1960 12 31


datecalc-l gevolgd door een jaar en maand zal de output van de laatste
dag van die maand. Merk op dat door het controleren van de laatste dag van
Februari kunt test voor schrikkeljaar. Voorbeeld:
> Datecalc-l 2002 2
28 "


lastday () (
integer jaar maand sprong
# Ja fe ma ma ap jn jl ag se oc no de
Een set-mlength xx 31 28 31 30 31 30 31 31 30 31 30 31

jaar \u003d $ 1
if ((jaar <1860 | | jaar> 3999)), vandaar
print-U2 jaar buiten het bereik
return 1
fi
maand \u003d $ 2
if ((maand <1 | | maand> 12)), vandaar
print-U2 maanden buiten bereik
return 1
fi

if ((maand! \u003d 2)), vandaar
print $ (mlength [maand])
return 0
fi

sprong \u003d 0
if ((! (jaar% 100))), vandaar
((! (jaar% 400))) & & sprong \u003d 1
anders
((! (jaar% 4))) & & sprong \u003d 1
fi

feblength \u003d 28
((schrikkeljaar)) & & feblength \u003d 29
print $ feblength
return 0
)


date2jd () (
integer ijd dag maand jaar mnjd Lday jd

jaar \u003d $ 1
maand \u003d $ 2
dag \u003d $ 3
Lday \u003d $ (lastday $ jaar $ maand) | | exit $?

if ((dag <1 | | dag> Lday)); dan
print-U2 dag buiten bereik
return 1
fi

((standard_jd \u003d dag - 32075
+ 1461 * (jaar + 4800 - (14 - maand) / 12) / 4
+ 367 * (maand - 2 + (14 - maand) / 12 * 12) / 12
- 3 * ((jaar + 4900 - (14 - maand) / 12) / 100) / 4))
((jd \u003d standard_jd-2400001))


print $ jd
return 0
)


jd2dow ()
(
integer jd dow numeric_mode
set + een dag zondag maandag dinsdag woensdag donderdag vrijdag zaterdag

numeric_mode \u003d 0
if [[$ 1 \u003d-n]]; dan
numeric_mode \u003d 1
verschuiven
fi


jd \u003d $ 1
if ((JD <1 | | JD> 782028)), vandaar
print-U2 Juliaanse dag buiten het bereik
return 1
fi

((dow \u003d (JD +3)% 7))

if ((numeric_mode)); dan
print $ dow
anders
(print $ dagen [dow])
fi
terug
)

jd2date ()
(
integer standard_jd temp1 temp2 jd jaar maand dag

jd \u003d $ 1
if ((JD <1 | | JD> 782028)), vandaar
print Juliaanse dag buiten het bereik
return 1
fi
((standard_jd \u003d JD +2400001))
((temp1 \u003d standard_jd + 68569))
((temp2 \u003d 4 * temp1/146097))
((temp1 \u003d temp1 - (146097 * temp2 + 3) / 4))
((year \u003d 4000 * (temp1 + 1) / 1461001))
((temp1 \u003d temp1 - 1461 * jaar / 4 + 31))
((maand \u003d 80 * temp1 / 2447))
((dag \u003d temp1 - 2447 * maand / 80))
((temp1 \u003d maand / 11))
((maand \u003d maand + 2 - 12 * temp1))
((year \u003d 100 * (temp2 - 49) + jaar + temp1))
print $ jaar $ maand $ dag
return 0
)


#
# Parse parameters en aan de slag.
case $ 1 in
-a) if (($ # \u003d\u003d 8)), vandaar
if [[$ 5! \u003d -]], vandaar
print-U2 - "$ USAGE"
afrit 1
fi
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
jd2 \u003d $ (date2jd $ 6 $ 7 $ 8) | | exit $?
((JD3 \u003d JD1-jd2))
print $ JD3
exit 0
Elif (($ # \u003d\u003d 6)), vandaar
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
case $ 5 in
- | +) Eval '((' jd2 \u003d $ (JD1) $ (5) $ (6 }'))'
jd2date $ jd2
exit $?
;;
*)
print-U2 - "$ USAGE"
afrit 1
;;
esac

fi
;;

-d |-D) if (($ #! \u003d 4)), vandaar
print-U2 - "$ USAGE"
afrit 1
fi
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
numerieke \u003d- n
[[$ 1 \u003d-D]] & & numerieke \u003d ""
eval jd2dow numerieke $ $ JD1
exit $?
;;

-j) if (($ # \u003d\u003d 4)), vandaar
date2jd $ 2 $ 3 4 dollar
exit $?
Elif (($ # \u003d\u003d 2)), vandaar
jd2date $ 2 $ 3 4 dollar
exit $?
anders
print-U2 - "$ USAGE"
afrit 1
fi
;;

-l) if (($ # \u003d\u003d 3)), vandaar
lastday $ 2 $ 3
exit $?
anders
print-U2 - "$ USAGE"
afrit 1
fi
;;

-help) print - "$ USAGE"
print ""
print - "$ documentatie"
exit 0
;;

*) Print-U2 - "$ USAGE"
exit 0
;;


esac

# niet bereikt
afrit 7
  #5 (permalink)  
Old 10-02-2006
cero cero is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2006
Posts: 56
Een andere manier zou zijn:
Code:
#!/usr/bin/ksh
RET=`sqlplus -silent rep/Ndk38f7@dw <<END
set pagesize 0 feedback off verify off heading off echo off
select decode(d1,d2,'No rows',to_char(d1)||' '||to_char(d2)) from
(select trunc(max(chg_dt)) d1 from NOT_SCHEDULED_INSTALL),
(select trunc(sysdate) d2 from dual);
exit;
END`
if [[ "$RET" = "No rows" ]] ; then
   # do something
else
  # do something else
fi
Laat de orakels decoderen-functie vergelijkt voor je.
  #6 (permalink)  
Old 01-10-2007
Jamil Qadir Jamil Qadir is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Posts: 13
unix script

Ik heb een kleine verandering in dit script.

Ik heb toen de datum is minder dan SYSDATE het slapen voor 1 houre anders lopen mijn abc.sh script.

bedankt

Jamil
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 02:40 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0