The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
kiszámítani 13 hónappal ezelőtt andrea_mussap Shell programozás és Scripting 4 11-21-2007 08:14 PM
Cron futtatni a hónap első napján kiszámításához időpontját 3 hónappal ezelőtt new2ss Shell programozás és Scripting 1 05-17-2007 03:28 AM
Néhány hónappal ego big123456 Shell programozás és Scripting 8 07-27-2005 04:31 AM
Comparing két hónappal pankschawla A UNIX a fejlett és szakértői Felhasználók 1 02-11-2004 07:32 AM
DNS Help - megpróbálta ezt a hónapban matt2kjones IP Networking 16 09-28-2002 10:46 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 11-16-2007
andrea_mussap andrea_mussap is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2007
Hozzászólások: 4
kiszámítani 13 hónappal ezelőtt

szia,
Van egy nagy fájlt, amely tartalmazza Adatok hiszen 4 évvel ezelőtt.

Meg kell újra létrehozni ezt a fájlt, de csak a sorok, amelyek 13 hónappal ezelőtt még ma.

mi van: (Van egy file.ksh hogy ezt 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
/ STATISTICS \u003d stderr
/ STABLE
/ NODUPLICATES
/ Execute "today \u003d` date +% Y% m% d `"
/ Execute "13m_ago \u003d` expr $ (ma) - 10000 ""
/ Infile \u003d $ PAR_SCL1
/ FIELD \u003d (CONTA_CORRENTE, POSITION \u003d 1, size \u003d 13)
/ FIELD \u003d (DATA_VENCIMENTO, ÁLLÁSPONTOT \u003d 50, size \u003d 10)
/ Állapotának \u003d (cond1, VIZSGÁLATI \u003d (DATA_VENCIMENTO> ($ 13m_ago))
/ Include \u003d (Állapotának \u003d cond1)
/ KEY \u003d (NUMERO_FATURA, Emelkedõ)
/ Kimenet \u003d $ PAR_SCL2
/ FIELD \u003d (CONTA_CORRENTE, POSITION \u003d 1, size \u003d 13)
/ FIELD \u003d (DATA_VENCIMENTO, ÁLLÁSPONTOT \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 az az időpont, hogy az kell, hogy a legnagyobb egyenlő 13 hónappal ezelőtt.
elrendezésének DATA_VENCIMENTO a 20071115, például.


Már a topic ( Yesterdays dátuma / időpontja Aritmetikai), De ez nem segít nekem ...

Saját Unix a Solaris.

nem tud valaki segíteni?
köszönöm, Andrea.
  #2 (permalink)  
Old 11-16-2007
Perderabo's Avatar
Perderabo Perderabo is online now Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.131

Kód:
$ cat 13months_ago
#! /usr/bin/ksh

for input in 20071115 20071105 20070105 ; do

        year=${input%????}
        day=${input#??????}
        month=${input#????}
        month=${month%??}
        month=${month#0}
        day=${day#0}
        print -n $input $year $month $day

        ((year=year-1))
        ((month=month-1))
        if ((!month)) ; then
                ((year=year-1))
                month=12
        fi
        typeset -Z2 newday newmonth
        newday=$day
        newmonth=$month
        output=${year}${newmonth}${newday}
        print -- " -->" $year $month $day $output
done
exit 0
$ ./13months_ago
20071115 2007 11 15 --> 2006 10 15 20061015
20071105 2007 11 5 --> 2006 10 5 20061005
20070105 2007 1 5 --> 2005 12 5 20051205
$

  #3 (permalink)  
Old 11-16-2007
andrea_mussap andrea_mussap is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2007
Hozzászólások: 4
re.: kiszámításához 13 hónappal ezelőtt

Perderabo, kösz, de a példa nem működik nekem.

de én megtaláltam a megoldást:

Az én fő program kiszámítja I 13 hónappal ezelőtt

hoje \u003d `date +% Y% m% d`
data_13m \u003d `expr $ (hoje) - 10200"

és aztán, amit küld a változó data_13m a file.scl

export PAR_SCL3 \u003d $ (data_13m)

A file.scl én:

.
.
/ Execute "$ PAR_SCL3"
/ Infile \u003d $ PAR_SCL1
/ FIELD \u003d (CONTA_CORRENTE, POSITION \u003d 1, size \u003d 13)
/ FIELD \u003d (DATA_VENCIMENTO, ÁLLÁSPONTOT \u003d 50, size \u003d 10)
/ Állapotának \u003d (cond1, VIZSGÁLATI \u003d (DATA_VENCIMENTO> $ PAR_SCL3))

és ez munkás!
vele.
  #4 (permalink)  
Old 11-16-2007
Perderabo's Avatar
Perderabo Perderabo is online now Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.131
Ön a hatása mínusz 1 év és 2 hónapon belül. Ha ez a defintion a "13 hónappal ezelőtt, akkor az én parancsfájlját
((month \u003d hónap-2))
if ((month <1)), majd

Megjegyzendő, hogy a módszer nem, ha az eredeti időpont a január vagy február.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 07:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0