The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

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
Rekord száma alapján a kulcsszó a nyilvántartásban aemunathan Shell programozás és Scripting 4 03-03-2009 08:39 AM
validálására a kép alapján feltételek trichyselva Shell programozás és Scripting 8 01-02-2009 08:51 AM
Based on num a nyilvántartást fájl1 ellenőriznie kell, hogy nyilvántartást fájl2 hogy néhány condns mavesum Shell programozás és Scripting 3 11-26-2008 10:48 AM
kivonat tételek alapján néhány feltételek prvnrk Shell programozás és Scripting 4 10-17-2008 05:24 AM
Gróf száma Records File nélkül számítva Header és Trailer Records guiguy Shell programozás és Scripting 2 06-07-2007 12:15 PM

Reply
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 06-05-2009
aemunathan aemunathan is offline
Regisztrált felhasználó
  
 

Join Date: May 2008
Hozzászólások: 75
segítségével awk a gróf nem a feljegyzések alapján feltételek

Szia

Én miután fájlokat a dátumot és az időt bélyegzőnek a mappa nevét, mint 200906051400,200906051500,200906051600 ..... így mindennapi 24 fájl jön létre

Meg kell tenni bizonyos dolgok ezen a napi 24 kép

fájl tartalmazza az adatokat, mint
Kód:
200906050016370   0   1244141195225298lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919443200299   MSISDN  ASC   919443200299   0   SUCCESS                                           1244141195225298less      919443200299        124414      79.301938811.6885305NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050016440   0   1244141197503299lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2139                                                        LOCATIONMANAGER          SLIR                 919449838266   MSISDN  ASC   919449838266   0   SUCCESS                                           1244141197503299less      919449838266        124414      74.739722013.3302837NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050017070   0   1244141224604306lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919448010097   MSISDN  ASC   919448010097   1   SYSTEM FAILURE                                    1244141224604306less      919448010097        124414                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906050017110   0   1244141227460308lessrv3       BSNLSERVICE1                  BSNLSERVICE1                  2128                                                        LOCATIONMANAGER          SLIR                 919449838266   MSISDN  ASC   919448010098   1   SYSTEM FAILURE                                    1244141227460308less      919449838266   124414                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  

20090605140148        1204702370366140lessrv3                                     RTMS                          0                                                           TRACKING                 tlrep                                                            0   SUCCESS                                                                                         1                                                                                                                                                                                                                                                                                                                                     WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001620   MSISDN  ASC   919446001620   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001618   MSISDN  ASC   919446001618   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84  
200906051402100   0   1195202147789210lessrv3       RTMS                          RTMS                                                                                      LOCATIONMANAGER          SLIR                 919446001617   MSISDN  ASC   919446001617   526 INACTIVE SUBSCRIBER                               1195202147789210less                          124419                          NORMAL    DELAY_                                                                                                                                                                                                                                                                                      WGS84

Szükségem van a parancsfájlok hogy a következő
1. Azt, hogy kiszűrje a nyilvántartások alapján és $ 4 $ 6 (azaz $ 4 \u003d\u003d BSNLSERVICE1 és $ 6 \u003d\u003d 2128) és a szám a teljes nyilvántartást a napot (20090605 *)


KIMENETI szükség:
BSNLSERVICE1 2128 \u003d\u003d 3


2. Azt, hogy kiszűrje a nyilvántartások alapján és $ 4 $ 6 (azaz $ 4 \u003d\u003d BSNLSERVICE1 és $ 6 \u003d\u003d 2128) és a szám a teljes nyilvántartást a napot (20090605 *) és a csoportos ALAPULÓ $ 14 (vagyis a siker, hiba)


KIMENETI szükség:
BSNLSERVICE1 2128 SIKER \u003d\u003d 1
BSNLSERVICE1 2128 SYSTEM FAILURE \u003d\u003d 2


3. Azt, hogy kiszűrje a nyilvántartások alapján és $ 4 $ 6 (azaz $ 4 \u003d\u003d BSNLSERVICE1 és $ 6 \u003d\u003d 2128), CSOPORT ALAPULÓ $ 9 (azaz 919448010098, 919446001618), és számolni a teljes nyilvántartást a NAP (20090605 *) minden egyes, $ 9


KIMENETI szükség:
919449838266 2
919448010097 1


kimenet kell a $ 4 \u003d\u003d BSNLSERVICE1 és $ 6 \u003d\u003d 2128 .. csak más dolgok ($ 4 \u003d\u003d RTMS) nem szükséges.

Segíts pls

Last edited by aemunathan; 06/05/2009 at 08:33 AM..
  #2 (permalink)  
Old 06-05-2009
panyam panyam is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Sep 2008
Hozzászólások: 474
Valami ilyesmi kipróbálhatja:
Kód:
awk '$4=="BSNLSERVICE1"&&$6=="2128" { count++ } END { print "BSNLSERVICE1-->2128-->" count }'  file_name.txt
még azt is szinte azonos. csak egy kis változást, a script szükséges.
  #3 (permalink)  
Old 06-05-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.301
Próbáld ki ezt:

Kód:
awk -v day="20090605" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' file
Üdvözlettel
  #4 (permalink)  
Old 06-05-2009
aemunathan aemunathan is offline
Regisztrált felhasználó
  
 

Join Date: May 2008
Hozzászólások: 75
Szia panyam és Franklin

Követtem a módszer által javasolt panyam annak következtében, hogy hasznos.

Itt megy, mint az, hogy én kérni.

Kód:
1.
awk '$4=="BSNLSERVICE1"&&$6=="2128" { count++ } END { print "BSNLSERVICE1-->2128-->" count }' 20090604*

2. 

awk '$4=="BSNLSERVICE1"&&$6=="2128"{ b[$14]++}  END {for(i in b){print i, b[i]}  }' 20090604*

3.
awk '$4=="BSNLSERVICE1"&&$6=="2128"{ b[$9]++}  END {for(i in b){print i, b[i]}  }' 20090604*
Egy dolog, amit tudnod kell, hogy a lehető levezetésénél filename napjától parancsot.

Azt, hogy valóban szükség van menetrendet minden este 2:00-kor, és szükségem van, hogy ebből a fájlnév időpontjától parancs

segítségével megteszi a példa
Ma este 2:00 az ouput a
Kód:
date +'%Y%m%d'
a 20090606
Meg kell adnia a fájl nevét a 20090605 * a fájlnév része az awk ...


és Franklin .... Régen így
Kód:
#!/usr/xpg4/bin/awk 
awk -v day="20090605" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' 200906051859
és megvan a válasz a
Idézet:
. / reconcil.sh
/ usr/xpg4/bin/awk: syntax error háttere a következő:
>>>. / <<<
thank u
  #5 (permalink)  
Old 06-05-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.301
Ahhoz, hogy a dátum a tegnapi használatod datecalc script a Perderabo.
Tegyük ezt a forgatókönyvet az azonos könyvtárba szkriptnek a neve datecalc és ez végrehajtható:

nap között eltelt 2 dátumok

Szkriptjeid kell néz ki:

Kód:
#!/bin/ksh

dat=$(./datecalc -a $(date +"%Y %m %d") - 1)

day=$(/usr/xpg4/bin/awk -v d="$dat" 'BEGIN {split(d,a," ");day=sprintf("%s%02s%02s",a[1],a[2],a[3]);print day}')

/usr/xpg4/bin/awk -v d="$day" -v serv="BSNLSERVICE1" -v val="2128" '
$1 ~ day && $4==serv && $6==val {
  s1++;a[$14]++;b[$9]++
}
END{
  print "Filename: " FILENAME "\n"
  print serv,val, "=" s1 "\n"
  print serv,val, a["SUCCESS"]
  print serv,val, a["SYSTEM"] "\n"
  for(i in b){print i, b[i]} 
}' $day*
Odaítélt bit / terhelniük Franklin52 ezt Post
Dátum Felhasználó Hozzászólás Összeg
06-06-2009 aemunathan Kiváló munkát végzett 50.000
  #6 (permalink)  
Old 06-06-2009
aemunathan aemunathan is offline
Regisztrált felhasználó
  
 

Join Date: May 2008
Hozzászólások: 75
Szia

Köszönet egy csomó ember ... annak örülök, hogy az eredmény ...

Kell még egy info. ténylegesen használok sqlloader szúrni az eredményt a táblázatban. Itt szeretnénk nyomtatni a korábbi időpontban is dd-mon-yyyy format

Próbáltam ilyen módon
Kód:
#!/bin/ksh

dat=$(./datecalc -a $(date +"%Y %m %d") - 1)

da_te=$(date +'%d')

da=$(($da_te-1))

mon=$(date +'%b')

year=$(date +'%Y')

host=$(hostname)

day=$(/usr/xpg4/bin/awk -v d="$dat" 'BEGIN {split(d,a," ");day=sprintf("%s%02s%02s",a[1],a[2],a[3]);print day}')

/usr/xpg4/bin/awk -v d="$day" -v serv="BSNLSERVICE1" -v val="2128"  -v daet="$(($da)-($mon)-($year))" -v ho="$host"'
$1~day && $4==serv && $6==val {
  s1++
}
END{
  print daet, host,s1 
}' $day*
Segíts! a jelentés az előző nap úgy kell alkalmazni a korábbi időpont nyomtatás közben.
Köszi előre

Last edited by aemunathan; 06/07/2009 at 01:36 PM.. Ok: még egy követelmény !!!!!!
Reply

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 11:42 AM.


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