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
Szó wc chaandana A UNIX a dummies Kérdések és válaszok 5 05-05-2009 11:47 AM
Hogyan számolják események egy adott szót egy fájlt bash shell mskart A UNIX a dummies Kérdések és válaszok 2 10-30-2008 12:42 PM
Hogyan talál meg egy gróf a szót egy fájlban bd_joy Shell programozás és Scripting 9 07-14-2008 10:29 AM
grep valamennyi nyilvántartás egy fájlt, és egy szót gróf-perl meghana Shell programozás és Scripting 4 02-13-2008 10:06 PM
Számolja előfordulásának perticular szót fájl rinku Shell programozás és Scripting 40 08-10-2007 08:33 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 07-09-2009
unx100 unx100 is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2009
Hozzászólások: 22
mennyire számít egy szót egy fájlban

Dear all,

Én azt a követelményt, hogy a hibák számát, és megjeleníti a fájlt.
pl. file1.txt

Kód:
sjdgfjdgfgd ora-0001 sdjgfydh sdukgh7 23
sjdgfjdgfgd ora-0002 sdjgfydhsf34 ew 34v
sjdgfjdgfgd ora-0008 sdjgfydh asdf asdfas 
sjdgfjdgfgd ora-0001 sdjgfydhjkbs ui873
sjdgfjdgfgd ora-0004 sdjgfydh 2876gfen 
sjdgfjdgfgd ora-0002 sdjgfydhj uewiuriue 324987

A kimeneti lenne:

Kód:
Error Code : ORA-0001  Count : 2
Error Code : ORA-0002  Count : 2
Error Code : ORA-0004  Count : 1
Error Code : ORA-0008  Count : 1

Írtam egy prog. mint alább és dolgozik jól. Szeretném tudni, van-e valamilyen egyszerű módja annak, hogy írjuk meg a prog. Új unix így nem biztos benne, hogy más módon is.
Köszönöm előre.


Kód:
#!/bin/sh
echo "Enter filename..."
read name
cd /test/unix
cat $name | while read line
do
echo "$line" > tmpj
cat "tmpj" | egrep -c ora- > tmpk
if [ `cat tmpk` -gt 0 ]
then 
cat tmpj | sed 's/.*\(ora-.....\).*/\1/' >> tmpl
fi
done
rm tmpj
rm tmpk
for var1 in `cat tmpl`
do
echo "$var1" > tmpj
cat tmpl | egrep -c `cat tmpj` > tmpk
if [ `cat tmpk` -gt 0 ]
then
echo "Error Code : "$var1"  Count : `cat tmpk`"
sed "/$var1/d" tmpl > tmpm
mv tmpm tmpl
fi
done
rm tmpj
rm tmpk
rm tmpl


Last edited by vgersh99; 07/09/2009 at 12:11 PM.. Indoka: code tags, please!
  #2 (permalink)  
Old 07-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131

Kód:
nawk '
{
   a[$2]++
}
END {
   for (i in a)
     print "Error Code : " i " Count : " a[i]
}
' file1.txt



---------- Post frissíteni 11:12 ---------- Előző frissítés volt 11:10 ----------

Annak érdekében, hogy a fórum jó minőségű az összes felhasználó, kérjük az idő formátumát az üzeneteidet helyesen.

Először is, használata Kód Tags Ha postázol semmilyen kód vagy adat minták így mások is könnyen olvasható legyen a kód. Könnyedén, kiemelve ezt a kódot, majd rákattint a # a szerkesztési menüben. (Azt is típus kód tags [code] és [/ code] kézzel.)

Másodszor, elkerülendő színe, vagy különböző betűtípusok és a betűméret, hogy az üzeneteidet. Szelektív szín használata kiemelni egy szót vagy kifejezést hasznos lehet időnként, de színes, általában, hogy a fórumokon nehezebben olvasható, különösen élénk színekkel, mint a vörös.

Harmadszor, légy óvatos, ha cut-and-paste, szerkeszteni bármilyen furcsa karakterek és győződjön meg róla, hogy a linkek munkaidő tulajdon.

Köszönöm.

A UNIX és Linux Forums
  #3 (permalink)  
Old 07-09-2009
unx100 unx100 is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2009
Hozzászólások: 22
Szia gerh99,

Köszönöm, kiváló kódot.
A fájl, amit a hibaüzenet és a fájlhoz ora a hibák nem mindig a 2. oszlop / occurence. ora hiba jelenhet meg akárhol a pályán vagy szokott megjelenni is.
Elnézést a kellemetlenségért.
pl.

Kód:
sjdgfjdgfgd sdjgfydh sdukgh7 23 ora-0001 
sjdgfj dgf g  d ora-0002 sdjgfydhsf34 ew 34v
sjdg fjdgf gd ora-0008 sdjgfydh asdf asdfas 
sjdgfj dgf gd ora-0001 sdjgfydhjkbs ui873
sjdgfjdg fgd sdjgfydh 2876gfen 
sj dgfjd gfgd ora-0002 sdjgfydhj uewiuriue 324987


Last edited by vgersh99; 07/09/2009 at 12:51 PM.. Indoka: code tags, please!
  #4 (permalink)  
Old 07-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131

Kód:
nawk '
/ora-[0-9]/ {
    for(i=1;i<=NF;i++)
       if ( $i ~ /ora-[0-9]/ ) {a[$i]++;break}
}
END {
   for (i in a)
     print "Error Code : " i " Count : " a[i]
}
' file1.txt

  #5 (permalink)  
Old 07-10-2009
unx100 unx100 is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2009
Hozzászólások: 22
HI Gersh99,

Köszönöm ismét a gyors választ, és ez szép munka és a munka sokkal gyorsabb az én-kód (amit az említett 1. utáni).
Nawk valami új hozzám, kerestünk a kezdők unix könyvet (a wrox) nem sok áll rendelkezésre.

Kérjük, javítsa ki, ha Im worng:
A kódot a "Világűr", mint a space separator.
és ha a fájl valamivel, mint ez:

Kód:
sjhgfjhgdfs ora-0001 kjhsf 098j 97h
suiy23vb jhf8 ora-0001
jkhsdkj 98798 error:ora-0001 uif987

akkor vagyok, hogy az output nem ora-0001: 3, hanem

Kód:
ora-0001 : 2
error:ora-0001 : 1

van egyébként én tud kivonatot csak szavakkal kezdődő ora -

Last edited by vgersh99; 07/10/2009 at 07:48 AM.. Indoka: code tags, please!
  #6 (permalink)  
Old 07-10-2009
rakeshawasthi rakeshawasthi is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2004
Helyszín: India
Hozzászólások: 379
Kérjük, használja CODE tags, Am nehezen olvasási a minta input.
  #7 (permalink)  
Old 07-10-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131

Kód:
nawk '
/ora-[0-9]/ {
    for(i=1;i<=NF;i++)
       if ( $i ~ /ora-[0-9]/ ) { a[substr($i,index($i,"ora-"))]++; break}
}
END {
   for (i in a)
     print "Error Code : " i " Count : " a[i]
}
' file1.txt


Last edited by vgersh99; 07/10/2009 at 07:56 AM.. Ok: Ooops, bocs - rosszul olvas a 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 05:55 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