![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| mot wc | chaandana | UNIX pour les nuls Questions et réponses | 5 | 05-05-2009 10:47 AM |
| Comment faire pour compter les occurrences d'un mot dans un fichier en shell bash | mskart | UNIX pour les nuls Questions et réponses | 2 | 10-30-2008 12:42 PM |
| Comment trouver un chef d'un mot dans un fichier | bd_joy | De programmation et de script Shell | 9 | 07-14-2008 09:29 AM |
| grep tous les enregistrements dans un fichier et obtenir un mot-perl | meghana | De programmation et de script Shell | 4 | 02-13-2008 10:06 PM |
| Comptez le nombre d'occurrence de mot à partir du fichier perticular | rinku | De programmation et de script Shell | 40 | 08-10-2007 07:33 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
à compter d'un mot dans un fichier
Chers tous,
J'ai une exigence de compter les erreurs et les afficher à partir d'un fichier. par exemple. 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 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 Merci d'avance. 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 Dernière édition par vgersh99; au 07.09.2009 11:11 AM.. Motif: balises de code, S'IL VOUS PLAÎT! |
|
||||
|
Salut gerh99,
Merci, excellent code. Le fichier que j'ai eu un message d'erreur et le fichier ora erreurs ne sont pas toujours la 2e col. / occurence. erreur ora mai apparaissent n'importe où sur la ligne ou la coutume semble aussi. Excuses pour ce désagrément. par exemple. 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 Dernière édition par vgersh99; au 07.09.2009 11:51 AM.. Motif: balises de code, S'IL VOUS PLAÎT! |
|
||||
|
HI Gersh99,
Merci encore pour la réponse rapide et il fonctionne bien et de travail beaucoup plus rapidement à mon code (que j'ai mentionné dans le 1er post). Nawk est quelque chose de nouveau pour moi, cherché dans le livre unix débutants (par Wrox) rien de bien disponible. S'il vous plaît me corriger si Im worng: Le code est en «espace» comme l'espace séparateur. et si le fichier est un peu comme ceci: Code:
sjhgfjhgdfs ora-0001 kjhsf 098j 97h suiy23vb jhf8 ora-0001 jkhsdkj 98798 error:ora-0001 uif987 Code:
ora-0001 : 2 error:ora-0001 : 1 Dernière édition par vgersh99; au 07.10.2009 06:48 AM.. Motif: balises de code, S'IL VOUS PLAÎT! |
|
|||||
|
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
Dernière édition par vgersh99; au 07.10.2009 06:56 AM.. Motif: Ooops, désolé - une lecture erronée de l'exigence |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|