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
# 36  
Old 08-10-2007
Quote:
Originally Posted by kahuna
I don't think this works if the word is in the middle of a larger word.
Code:
$echo compoundwordinmiddle >inputfile      
$count1=`wc -w inputfile`                  
$count2=`sed s/word/" "/g inputfile |wc -w`
$echo $count1
1 inputfile
$echo $count2
2

yes you are right but if not this code is very simple
# 37  
Old 08-10-2007
Quote:
Originally Posted by fazliturk
yes you are right but if not this code is very simple
"echo 1" is very simple, but also not correct Smilie
# 38  
Old 08-10-2007
Quote:
Originally Posted by reborg
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)
Reborg, Am I missing something? This does not seem to work.
Code:
echo "abaabcabc" | awk 'BEGIN {RS="abc" } END { print NR }'  
5

# 39  
Old 08-10-2007
It does, but your awk doesn't support muli-character RS. So yes, you are in a sense missing something, however behavior with multi-char RS is unspecified in POSIX. On Solaris you would use nawk, on HP-UX this probably will not work.
# 40  
Old 08-10-2007
Quote:
Originally Posted by reborg
It does, but your awk doesn't support muli-character RS. So yes, you are in a sense missing something, however behavior with multi-char RS is unspecified in POSIX. On Solaris you would use nawk, on HP-UX this probably will not work.
Solaris' 'nawk' does not support multi-char RS, You may try /usr/xpg4/bin/awk - I don't quite remember the details if it does support it.
# 41  
Old 08-10-2007
Yes, you're right. I was thinking of FS handling, xpg4 awk does not support it either.

I guess in that case something like this would be needed(untested) for words as individual words using (n)awk which supports this for FS but not RS.
Code:
awk 'BEGIN{FS="(^|[[:blank:]]|[[:punct:]])word([[:blank:]]|[[:punct:]]|$)"} /./{ c+=NF-1} END {print c}' filename

To be honest I would not use awk for this myself, but as always there is more than one way of achieving a result.
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