~~Unix command to count a particular word in the whole directory .~~


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ~~Unix command to count a particular word in the whole directory .~~
# 1  
Old 03-05-2011
Question ~~Unix command to count a particular word in the whole directory .~~

Hi ,

i'm trying to count a particular word occurance in a whole directory..is this possible Smilie

say for example there is a directory with 100 files which and all the file may have the word 'aaa' in it ...how would i count the number of 'aaa' in those whole 100 files in a directory ?

thanks for your help
# 2  
Old 03-05-2011
Quote:
Originally Posted by Rabbitsfoot
is this possible Smilie
Impossible is nothing... with Perl Smilie
Try:
Code:
cd /your/dir
perl -ne '$x+=s/\baaa\b//g;END{print "$x\n"}' *

# 3  
Old 03-05-2011
thanks ..that looks promising :) ...is there an alternate if i dont have perl installed ..
# 4  
Old 03-05-2011
What system are you using? Try this:
Code:
awk '{n+=gsub("aaa","")}END{print n}' *

That code is imperfect though (in oposite to Perl oneSmilie), as it will treat words like "aaaaaa" as two "aaa" words. Perl one-liner is not counting those words.
# 5  
Old 03-05-2011
Code:
cat * | tr '[:blank:]' '[\n*]' | grep -Fx aaa | wc -l


Last edited by alister; 03-05-2011 at 04:05 PM..
# 6  
Old 03-05-2011
@ bartus11 :- excellent that perl command worked great ..!! i'm using Solaris 5.10 ..


@ alister ..looks like it is throwing error as it is unable to find the directory ..i ran the perl and ur command at the same directory
# 7  
Old 03-05-2011
Quote:
Originally Posted by bartus11
What system are you using? Try this:
Code:
awk '{n+=gsub("aaa","")}END{print n}' *

That code is imperfect though (in oposite to Perl oneSmilie), as it will treat words like "aaaaaa" as two "aaa" words. Perl one-liner is not counting those words.
then you iterate each word using for loop. Perl is overhyped when it comes to text/string processing
Code:
awk '{for(o=1;o<=NF;o++) if ( $o == "aaa") c++}END{print c}'  file

similarly, if OP have Ruby ( which most probably not)
Code:
$ ruby -e 'print "aaa aaa tes aaaa".scan(/\baaa\b/).size'

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get count of multiple word in single command

Hello Experts, I have a log file that contains 4 different type of exception : 1- Exception 2- Fatal 3- Error 4- Exec My requirement is to find count of each type of exception, i tried using combination of -E and -C but that doesn't seems to be working : grep -ec 'Exception' -ec... (4 Replies)
Discussion started by: mukulverma2408
4 Replies

2. UNIX for Beginners Questions & Answers

UNIX script to check word count of each word in file

I am trying to figure out to find word count of each word from my file sample file hi how are you hi are you ok sample out put hi 1 how 1 are 1 you 1 hi 1 are 1 you 1 ok 1 wc -l filename is not helping , i think we will have to split the lines and count and then print and also... (4 Replies)
Discussion started by: mirwasim
4 Replies

3. Shell Programming and Scripting

Word count files in UNIX

My files: file1 and file2 contain 157 words. Emptyfile1 contain 0 words. My script has to output how many files is filled with words and how many that are not. If there are files that have words in it. It has to output "file2 and file2 contains 157 words, 0 files are empty" If not every... (9 Replies)
Discussion started by: johnrichards
9 Replies

4. UNIX for Dummies Questions & Answers

UNIX - command to count number of files in subdirectories

I have a folder named test/ and under that I have multiple directories and in each of the directory I have multiple log files. I want to know how many files exists under each sub directory. test |--quanrantine |--logfile1 |--logfile2 |--spooling |--logfile1 ... (4 Replies)
Discussion started by: ravikirankethe
4 Replies

5. UNIX for Dummies Questions & Answers

Single UNIX command to display users and to count them

Hello everyone, I am new to Unix and I am stuck with a problem. I need only a single command to display the output of who and then add the total number of users and display at the bottom of that output. Example-: (Expected output) sreyan@debian:~$ <command> sreyan tty7 ... (7 Replies)
Discussion started by: sreyan32
7 Replies

6. Shell Programming and Scripting

Word count of lines ending with certain word

Hi all, I am trying to write a command that can help me count the number of lines in the /etc/passwd file ending in bash. I have read through other threads but am yet to find one indicating how to locate a specifc word at the end of a line. I know i will need to use the wc command but when i... (8 Replies)
Discussion started by: warlock129
8 Replies

7. Shell Programming and Scripting

How to use the programming in UNIX to count the total G+C and the GC%?What command li

Seems like can use awk and perl command. But I don't have the idea to write the command line. Thanks for all of your advise. For example, if I have the file whose content are: Sample 1. ATAGCAGAGGGAGTGAAGAGGTGGTGGGAGGGAGCT Sample 2. ACTTTTATTTGAATGTAATATTTGGGACAATTATTC Sample 3.... (1 Reply)
Discussion started by: patrick chia
1 Replies

8. UNIX for Dummies Questions & Answers

Word Count (WC) command

I have created a file "pat".This file contains the text "abcdefghi". Now i want to count the characters in this file "pat". I gave wc -c | pat and it returns me exact count "9". Now when i tried like "echo pat | wc -m" It returns '4'. as for as i understand this command "echo pat | wc -m" should... (7 Replies)
Discussion started by: mdali_vl
7 Replies

9. Shell Programming and Scripting

awk command to find the count of files ina directory

hi Gurus, can anyone provide a awk command to get teh count of number of file sin a specific directory. appreciate any kind of information.. thanks (11 Replies)
Discussion started by: sish78
11 Replies
Login or Register to Ask a Question