The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Bovendien zijn in sh shell cfg UNIX voor Dummies Questions & Answers 1 09-28-2008 04:53 PM
Gewone Daarnaast helpen. Bandit390 Programmeren en Shell Scripting 3 09-23-2008 03:46 PM
Daarnaast email-lalit Programmeren en Shell Scripting 2 08-06-2008 06:58 PM
Daarnaast probleem onlyroshni Programmeren en Shell Scripting 2 12-10-2007 02:11 PM
floating point Daarnaast Ravi raj kumar Programmeren en Shell Scripting 8 12-22-2006 02:47

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 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2007
Posts: 328
datum toevoeging

Ik heb een script genaamd date_add.sh geschreven in k_shell

Mijn shell script vereiste is dat zij een datum van de gebruiker in het formaat JJJJ-MM-DD en dan blijkt dat alle 15 dagen later dag availaible in het lopende jaar

Als datum aanvaard van gebruiker 2008-10-13, dan is de o / p sholud worden
2008-10-28
2008-11-12
2008-11-27
2008-12-12
2008-12-27
-------------------------------------------------- ---------------------

Hoe om deze logica in een lus? Ook hoe om te zetten Epoch dagen in het formaat JJJJ-MM-DD

Current_day \u003d `perl -e 'print int (time/86400 );'`-------------------- 16145

maar het volgende commando werkt niet

perl -e '@ d \u003d localtime ((stat (shift)) [9]); printf "% 4d-% 02d-% 02d \ n", $ d [5] +1900, $ d [4] +1, $ d [3] 'Current_day

Laatst gewijzigd door ali560045; op 10.13.2008 07:44..
  #2 (permalink)  
Old 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2007
Posts: 328
helpen in datum script

hieronder mijn script. Eigenlijk in mijn script im nemen van de huidige datum en vervolgens 15 dagen aan.
-------------------------------------------------- ------------------------

#! / bin / ksh

Current_day \u003d `perl -e 'print int (tijd) ";"
echo $ Current_day

count \u003d 0
count \u003d `expr $ Current_day + 1296000"
echo $ count

perl -le 'print scalar localtime ( "$ count "');'

perl -e '@ d \u003d localtime ((stat (shift)) [9]); printf "% 4d-% 02d-% 02d \ n", $ d [5] +1900, $ d [4] +1, $ d [3] "" "$ count" "
-------------------------------------------------- ------------------------

het laatste commando dat zet de $ count waarde in formaat JJJJ-MM-DD werkt niet. plz help me in deze?
  #3 (permalink)  
Old 10-13-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.807
stat werken op de bestanden, niet tijdperk seconden.
  #4 (permalink)  
Old 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2007
Posts: 328
oke. ja, hoe om de waarde van het volgende commando in de formay JJJJ-MM-DD, dus ik moet je de o / p als 2008-10-28

perl -le 'print scalar localtime ( "$ count "');'
  #5 (permalink)  
Old 10-13-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.807

Code:
#!/bin/ksh
tictock()
{ 
perl -e '
 $now = time;
 $increment = 1296000;
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($now);
 $year += 1900;
 
 for($i=0, $thisyear = $year ; $thisyear==$year ; $i++)
 {
    printf ("%4d-%02d-%02d ", $year, $mon, $mday);
 	$incr=($increment * $i) + $now;
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($incr);
    $year += 1900;
    $mon += 1;
  
 }
 '
}

set -A arr $(tictock )
let i=0
while [[ $i -lt ${#arr[*]} ]]
do 
    print ${arr[i]}
    i=$(( i + 1))
done

  #6 (permalink)  
Old 10-13-2008
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Datum: maart 2007
Plaats: Toronto, Canada
Berichten: 2380
Citaat:
Oorspronkelijk geplaatst door ali560045 View Post
Ik heb een script genaamd date_add.sh geschreven in k_shell

Mijn shell script vereiste is dat zij een datum van de gebruiker in het formaat JJJJ-MM-DD en dan blijkt dat alle 15 dagen later dag availaible in het lopende jaar

Als datum aanvaard van gebruiker 2008-10-13, dan is de o / p sholud worden
2008-10-28
2008-11-12
2008-11-27
2008-12-12
2008-12-27
-------------------------------------------------- ---------------------



Code:
. date-funcs
year=$( date +%Y )

_DATESHIFT=$1
while :
do
  _dateshift $_DATESHIFT 15
  [ ${_DATESHIFT%%-*} -ne $year ] && break
  printf "%s\n" "$_DATESHIFT"
done

De datum funcs bibliotheek van shell-functies is beschikbaar op De Dating Game.
Closed Thread

Bladwijzers

Labels
perl, perl verschuiving, verschuiven, verschuiving perl

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 07:46.


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