The UNIX and Linux Forums  

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äkna 13 månader sedan andrea_mussap Shell-programmering och Skript 3 11-16-2007 03:18
Cron att köra första dagen i månaden för att beräkna datum 3 månader sedan new2ss Shell-programmering och Skript 1 05-17-2007 03:28
några månader ego big123456 Shell-programmering och Skript 8 07-27-2005 04:31
Jämföra två månader pankschawla UNIX för avancerade & Expertanvändare 1 02-11-2004 07:32
DNS Hjälp - har försökt att göra detta i flera månader matt2kjones IP Nätverk 16 09-28-2002 10:46

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 11-16-2007
andrea_mussap andrea_mussap is offline
Registered User
  
 

Join Date: Nov 2007
Inlägg: 4
beräkna 13 månader sedan

hej,
Jag har en stor fil som innehåller uppgifter som sedan 4 år sedan.

Jag behöver nytt skapa den här filen utan bara rader som är 13 månader sedan från och med idag.

se vad jag har: (Jag har en file.ksh som kräver detta file.scl ok!)

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d File.scl \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
/ Statistik \u003d stderr
/ STABIL
/ NODUPLICATES
/ EXECUTE "dag \u003d" datum +% Y% m% d ""
/ EXECUTE "13m_ago \u003d` expr $ (dag) - 10000 ""
/ INFILE \u003d $ PAR_SCL1
/ FIELD \u003d (CONTA_CORRENTE, STÅNDPUNKTEN \u003d 1, SIZE \u003d 13)
/ FIELD \u003d (DATA_VENCIMENTO, STÅNDPUNKTEN \u003d 50, SIZE \u003d 10)
/ SKICK \u003d (cond1, PROVNINGSFÖRFARANDE \u003d (DATA_VENCIMENTO> ($ 13m_ago))
/ Include \u003d (SKICK \u003d cond1)
/ Key \u003d (NUMERO_FATURA, STIGANDE)
/ OUTFILE \u003d $ PAR_SCL2
/ FIELD \u003d (CONTA_CORRENTE, STÅNDPUNKTEN \u003d 1, SIZE \u003d 13)
/ FIELD \u003d (DATA_VENCIMENTO, STÅNDPUNKTEN \u003d 50, SIZE \u003d 10)

\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

"DATA_VENCIMENTO" är det datum som måste vara i högsta motsvarar 13 månader sedan.
planlösning DATA_VENCIMENTO är 20071115, till exempel.


Jag har redan finns i ämnet ( Yesterdays Date / Datum Aritmetiskt) Men det hjälpte inte mig ...

Min Unix är Solaris.

innebär att någon kan hjälpa?
Thanks, Andrea. [16/11/2007]
  #2 (permalänk)  
Old 11-18-2007
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Oorganiserad User
  
 

Join Date: Nov 2007
Plats: Nya Zeeland
Inlägg: 922
Post

Det är lite ful men:

sh / bash / ksh etc

Kod:
month=`date +%m`
day=`date +%M`
year=`date +%Y`

count=13

while [ $count -gt 0 ]
do
    count=`expr $count - 1`
    month=`expr $month - 1`
    if [ $month -lt 1 ]
    then
        month=12
        year=`expr $year -1`
    fi
done

compare_date="${year}${month}${day}"

while <***read the file***>
do
    if [ $DATA_VENCIMENTO -lt $compare_date ]
    then
        <***do stuff***>
    fi
done

  #3 (permalänk)  
Old 11-18-2007
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Ort: -31.96,115.84
Inlägg: 1.409
Umm ... som kan returneras ett ogiltigt datum som körs i slutet av en "lång" månad. Exempelvis drivs datum 20071231, kod återgår 20061131
  #4 (permalänk)  
Old 11-21-2007
andrea_mussap andrea_mussap is offline
Registered User
  
 

Join Date: Nov 2007
Inlägg: 4
re.: Beräkna 13 månader sedan

Hi, thanks 4 svar, men jag kunde lösa på ett bättre enkelt sätt:

i mitt huvudprogrammet jag gjorde:
.
.
.
idag \u003d "datum +% Y% m% d`
data_13m \u003d `expr $ (idag) - 10200"

export PAR_SCL3 \u003d $ (data_13m)

EXECUTA "sortcl / sp \u003d $ (DIR_PROG_SCL) / saida_13meses.scl" \


och i saida_13meses.scl jag gjorde:

/ EXECUTE "$ PAR_SCL3"
/ INFILE \u003d $ PAR_SCL1
/ FIELD \u003d (CONTA_CORRENTE, STÅNDPUNKTEN \u003d 1, SIZE \u003d 13)
/ FIELD \u003d (NUMERO_FATURA, POSITION \u003d 14, SIZE \u003d 14)
/ FIELD \u003d (DATA_VENCIMENTO, STÅNDPUNKTEN \u003d 50, SIZE \u003d 10)
/ SKICK \u003d (cond1, PROVNINGSFÖRFARANDE \u003d (DATA_VENCIMENTO> $ PAR_SCL3))
/ Include \u003d (SKICK \u003d cond1)

hej då
  #5 (permalänk)  
Old 11-21-2007
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Oorganiserad User
  
 

Join Date: Nov 2007
Plats: Nya Zeeland
Inlägg: 922
Citat:
Ursprungligen postat av Ygor View Post
Umm ... som kan returneras ett ogiltigt datum som körs i slutet av en "lång" månad. Exempelvis drivs datum 20071231, kod återgår 20061131
Detta bör inte fråga om, vill vi inte veta en fin kalenderdag 13 månader sedan, vi vill hitta saker äldre än så att flagga.
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 02:26.


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