The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
plus en sh cfg UNIX pour les nuls Questions et réponses 1 09-28-2008 04:53 PM
Simple outre, l'aide. Bandit390 De programmation et de script Shell 3 09-23-2008 03:46 PM
plus email-Lalit De programmation et de script Shell 2 08-06-2008 06:58 PM
Addition problème onlyroshni De programmation et de script Shell 2 12-10-2007 02:11 PM
floating point plus Ravi Raj Kumar De programmation et de script Shell 8 12-22-2006 02:47 AM

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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 328
Date d'ajout

j'ai un script écrit en date_add.sh k_shell

Mon script shell condition qu'elle accepte une date à partir de l'utilisateur dans le format AAAA-MM-JJ, puis il montre tous les 15 jours plus tard, jour availaible de l'année en cours

si la date de l'utilisateur est accepté 2008-10-13, puis l'o / p sholud être
2008-10-28
2008-11-12
2008-11-27
2008-12-12
2008-12-27
-------------------------------------------------- ---------------------

Comment mettre cette logique dans une boucle? Aussi la façon de convertir Epoch jour en format AAAA-MM-JJ

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

mais la commande ci-dessous ne fonctionne pas

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

Dernière édition par ali560045; au 10.13.2008 07:44 AM..
  #2 (permalink)  
Old 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 328
aider à la date script

en-dessous de mon script. En fait, dans mon script im prenant la date du jour et puis l'ajout de 15 jours pour elle.
-------------------------------------------------- ------------------------

#! / bin / ksh

Current_day \u003d `perl -e 'print int (time);' `
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 "
-------------------------------------------------- ------------------------

la dernière commande, qui transforme la valeur en $ count format AAAA-MM-DD ne fonctionne pas. svp aidez-moi à cet égard?
  #3 (permalink)  
Old 10-13-2008
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5792
stat travaille sur des fichiers, pas époque secondes.
  #4 (permalink)  
Old 10-13-2008
ali560045's Avatar
ali560045 ali560045 is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 328
d'accord. de façon à convertir la valeur de la commande ci-dessous dans la formay AAAA-MM-JJ, donc je vous l'o / p comme 2008-10-28

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

Join Date: Feb 2004
Lieu: NM
Posts: 5792

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 online now Forum Advisor  
Shell programmeur, auteur
  
 

Join Date: Mar 2007
Lieu: Toronto, Canada
Messages: 2365
Citation:
Posté par ali560045 View Post
j'ai un script écrit en date_add.sh k_shell

Mon script shell condition qu'elle accepte une date à partir de l'utilisateur dans le format AAAA-MM-JJ, puis il montre tous les 15 jours plus tard, jour availaible de l'année en cours

si la date de l'utilisateur est accepté 2008-10-13, puis l'o / p sholud être
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

Le date-funcs bibliothèque de fonctions shell est disponible à The Dating Game.
Closed Thread

Bookmarks

Tags
perl, perl changement, déplacement, changement perl

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:35 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0