The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
ord tæller wc chaandana UNIX for dummyer Spørgsmål & svar 5 05-05-2009 11:47 AM
Sådan tælle forekomster af et bestemt ord i en fil i bash shell mskart UNIX for dummyer Spørgsmål & svar 2 10-30-2008 12:42 PM
Sådan finder du en sammentælling af et ord i en fil bd_joy Shell Programmering og Scripting 9 07-14-2008 10:29 AM
grep alle records i en fil og få et ord regne-perl meghana Shell Programmering og Scripting 4 02-13-2008 10:06 PM
Tæl antallet af forekomsten af perticular ord fra fil rinku Shell Programmering og 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 Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-09-2009
unx100 unx100 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Stillinger: 19
hvordan man kan regne et ord i en fil

Kære alle,

Jeg har et krav om at tælle de fejl og display fra en fil.
f.eks. file1.txt
Code:
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
produktionen vil være:
Code:
Error Code : ORA-0001  Count : 2
Error Code : ORA-0002  Count : 2
Error Code : ORA-0004  Count : 1
Error Code : ORA-0008  Count : 1
Jeg skrev en PROG. gerne nedenfor og arbejder bøde. vil gerne vide, er, at der er nogen enkel måde at skrive PROG. Ny på unix således ikke er sikker på andre måder.
Thanks in advance.

Code:
#!/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

Senest redigeret af vgersh99; 07-09-2009 kl 12:11 PM.. Årsag: kode tags, PLEASE!
  #2 (permalink)  
Old 07-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Code:
nawk '
{
   a[$2]++
}
END {
   for (i in a)
     print "Error Code : " i " Count : " a[i]
}
' file1.txt


---------- Post ajourføres 11:12 ---------- Forrige opdatering blev på 11:10 ----------

At holde fora høj kvalitet for alle brugere, skal du tage dig tid til at formatere dine indlæg korrekt.

Først og fremmest brug Kode Tags Når du sender en kode eller data prøver så andre let kan læse din kode. Du kan nemt gøre dette ved at fremhæve din kode og derefter klikke på # i redigering menuen. (Du kan også skrive kode tags [code] og [/ code] i hånden.)

Andet, undgå at tilføje farve eller forskellige skrifttyper og skriftstørrelsen til dine indlæg. Selektiv brug af farver for at fremhæve et enkelt ord eller en sætning kan være nyttige til tider, men ved hjælp af farve, i almindelighed, gør fora sværere at læse, især lyse farver som rød.

Tredje, være forsigtige, når du klippe og indsætte, redigere noget mærkeligt tegn og sørg for, at alle links arbejder ejendom.

Tak.

UNIX og Linux Forums
  #3 (permalink)  
Old 07-09-2009
unx100 unx100 is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Stillinger: 19
Hi gerh99,

Thanks, fremragende kode.
Den fil, som jeg havde er en fejlmeddelelse fil og ora fejl er ikke altid den 2. Kol / occurence. ora fejl kan forekomme overalt i linje eller sædvane synes også.
Beklager ulejligheden.
f.eks.
Code:
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

Senest redigeret af vgersh99; 07-09-2009 kl 12:51 PM.. Årsag: kode tags, PLEASE!
  #4 (permalink)  
Old 07-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Code:
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
Registreret Bruger
  
 

Join Date: Jul 2009
Stillinger: 19
HI Gersh99,

Endnu en gang tak for den hurtige svar, og det arbejder bøde og arbejder meget hurtigere at min kode (som jeg nævnte i 1. post).
Nawk er noget nyt for mig, søgte i begyndere UNIX bog (af wrox) ikke meget til rådighed.

Ret mig, hvis Im worng:
Koden er under "rum" som det rum separator.
og hvis en fil er noget som dette:
Code:
sjhgfjhgdfs ora-0001 kjhsf 098j 97h
suiy23vb jhf8 ora-0001
jkhsdkj 98798 error:ora-0001 uif987
derefter am få output ikke som ora-0001: 3, men som
Code:
ora-0001 : 2
error:ora-0001 : 1
er der alligevel kan jeg partiallicens kun ord, der begynder med ora -

Sidst redigeret af vgersh99; 07-10-2009 på 07:48 AM.. Årsag: kode tags, PLEASE!
  #6 (permalink)  
Old 07-10-2009
rakeshawasthi rakeshawasthi is offline
Registreret Bruger
  
 

Join Date: Aug 2004
Beliggenhed: Indien
Posts: 379
Benyt venligst KODE tags, Jeg har svært ved at læse din prøve input.
  #7 (permalink)  
Old 07-10-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Code:
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

Sidst redigeret af vgersh99; 07-10-2009 på 07:56 AM.. Årsag: ooops, undskyld - misforstået kravet
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 10:50 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0