Count the number of occurence of perticular word from file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Count the number of occurence of perticular word from file
# 22  
Old 08-09-2007
Quote:
Originally Posted by Shell_Life
This solution does not work.

Here is a sample file:
Code:
a aa aaa
aaa aa a
aaa aa a aaa aa a aaa

Here is one test:
Code:
tr -cs 'A-Za-z' '\n' < FILE | grep -c "aaa"

It gives the total of words as '3', when the answer is '5'.

I get 5 using that script. If you are using a very old version of tr, you may need to bracket the range and/or extend the replacement string:

Code:
tr -cs '[A-Za-z]' '\n*' < FILE | grep -c "aaa"

Or be more specific about what get translated:

Code:
tr -s ' \011\012' '\n\n\n' < FILE | grep -c "aaa"

# 23  
Old 08-09-2007
Quote:
Originally Posted by cfajohnson
Or be more specific about what get translated:
Code:
tr -s ' \011\012' '\n\n\n' < FILE | grep -c "aaa"

Using the same test data:
Code:
a aa aaa
aaa aa a
aaa aa a aaa aa a aaa

This solution does not work for the following case:
Code:
tr -s ' \011\012' '\n\n\n' < FILE | grep -c "a"

It gives the total of words as '13', when the answer is '4'.
# 24  
Old 08-09-2007
I havn't though about this much at all, nor have I tested it, but for the awk solution I think this should work:
Code:
awk 'BEGIN {RS="abc" } END { print NR }'

(where abc is the word)
# 25  
Old 08-09-2007
Quote:
Originally Posted by reborg
Code:
awk 'BEGIN {RS="abc" } END { print NR }'

(where abc is the word)
Reborg,
Using the same test data:
Code:
a aa aaa
aaa aa a
aaa aa a aaa aa a aaa

Using your solution to find the number of 'a' words:
Code:
awk 'BEGIN {RS="a" } END { print NR }' FILE

Gives total of '28' when the result is '4'.
# 26  
Old 08-09-2007
This solution (previously posted) works:
Code:
$ cat file
a aa aaa
aaa aa a
aaa aa a aaa aa a aaa
 aa a aaa


awk '{ 
     for (i=1;i<=NF;i++)
         if ( $i == "a")
         c++
     }
END{
print c}' file
5

Cheers
# 27  
Old 08-09-2007
Quote:
The quick brown fox jumps over the lazy dog.
Is the last colored sequence of characters a word?
# 28  
Old 08-09-2007
Quote:
Originally Posted by Shell_Life
Using the same test data:
Code:
a aa aaa
aaa aa a
aaa aa a aaa aa a aaa

This solution does not work for the following case:
Code:
tr -s ' \011\012' '\n\n\n' < FILE | grep -c "a"

It gives the total of words as '13', when the answer is '4'.

Then you need to adjust your grep to search for a word, not a letter. If your grep has it, use -w; if not, use "\<a\>".

Also, some older versions of tr need \012 instead of \n.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Python Count Number Of Occurence

Hello, I have a programming assignment to count number of occurrences of hours in particular file. Below is the code: fname = raw_input("Enter file name: ") if len(fname) < 1 : fname = "mbox-short.txt" largest = None fh = open(fname) counts = dict() test = list() for line in fh: ... (2 Replies)
Discussion started by: infinitydon
2 Replies

2. Shell Programming and Scripting

How to find the number of occurence of particular word from a text file?

example: i have the following text file... i am very tired. i am busy i am hungry i have to find the number of occurence of a particular word 'am' from the text file.. can any one give the shell script for it (34 Replies)
Discussion started by: sheela
34 Replies

3. Shell Programming and Scripting

Count number of character occurence but not from quotation marks

I have the following string: 31-01-2012, 09:42:37;OK;94727132638;"Mozilla/5.0 (Linux; U; Android 2.2.1)";3G;WAP;I need a script which is counting the occurrence of semicolons ( ; ) but exclude the ones from the quotation marks. In the string given as example there are 8 semicolons but the script... (3 Replies)
Discussion started by: calinlicj
3 Replies

4. UNIX for Dummies Questions & Answers

how to count number of times each word exist in a file

I'm trying to count the number of times each word in the file exist for example if the file has: today I have a lot to write, but I will not go for it. The main thing is that today I am looking for a way to get each word in this file with a word count after it specifying that this word has... (4 Replies)
Discussion started by: shnkool
4 Replies

5. Shell Programming and Scripting

Count the number of occurrences of the word

I am a newbie in UNIX shell script and seeking help on this UNIX function. Please give me a hand. Thanks. I have a large file. Named as 'MyFile'. It was tab-delmited. I am told to write a shell function that counts the number of occurrences of the ord “mysring” in the file 'MyFile'. (1 Reply)
Discussion started by: duke0001
1 Replies

6. UNIX for Dummies Questions & Answers

Count number of occurences of a word

I want to count the number of occurences of say "200" in a file but that file also contains various stuff including dtaes like 2007 or smtg like 200.1 so count i am getting by doing grep -c "word" file is wrong Please help!!!!! (8 Replies)
Discussion started by: shikhakaul
8 Replies

7. Shell Programming and Scripting

finding the number of occurence of a word in a line

suppose i have this line abs|der|gt|dftnrk|dtre i want to count the number of "|" in this line.. how can i do that. plz help:confused: (9 Replies)
Discussion started by: priyanka3006
9 Replies

8. Shell Programming and Scripting

Count number of digits in a word

Hi all Can anybody suggest me, how to get the count of digits in a word I tried WORD=abcd1234 echo $WORD | grep -oE ] | wc -l 4 It works in bash command line, but not in scripts :mad: (12 Replies)
Discussion started by: ./hari.sh
12 Replies

9. UNIX for Dummies Questions & Answers

search& count for the occurence of a word

Greetings, I need to search and count all the occurences of a word in all the files in a directory. Any suggestions greatly appreciated. Thanks (1 Reply)
Discussion started by: skoppana
1 Replies

10. UNIX for Dummies Questions & Answers

word count showing wrong number of lines

Hi , I am using SUN OS Version 5.6. I have a file that contains records of length 270. when I do 'set nu' in vi editor, I get the count as 86. whereas when I do "wc -l" on the command prompt, it shows the count as only 85. this is very strange. why would the 'wc' show 1 record less. The job... (3 Replies)
Discussion started by: tselvanin
3 Replies
Login or Register to Ask a Question