![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| 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 |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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! |
|
||||
|
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! |
|
||||
|
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! |
|
|||||
|
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 |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|