Sponsored Content
Top Forums Shell Programming and Scripting Word Occurrences script using awk Post 302923175 by ksmarine1980 on Thursday 30th of October 2014 11:38:58 PM
Old 10-31-2014
Word Occurrences script using awk

I'm putting together a script that will the count the occurrences of words in text documents. It works fine so far, but I'd like to make a couple tweaks/additions:

1) I'm having a hard time displaying the array index number, tried freq[$i] which just spit 0's back at me
2) Is there any way to eliminate the whitespace (spaces) from the word count?

I'm relatively new to Unix, so any help would be greatly appreciated. Thank you!
Code:
{
        $0 = tolower($0)
        for ( i = 1; i <= NF; i++ )
        freq[$i]++
}
BEGIN { printf "%-20s %-6s\n", "Word", "Count"}
END {
sort = "sort -k 2nr"
for (word in freq)
        printf "%-20s %-6s\n", word, freq[word] | sort
close(sort)
}

 

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

awk and gsub - how to replace only the first X occurrences

I have a text (text.txt) and I would like to replace only the first 2 occurrences of a word (but I might need to replace more): For example, if text is this: CAR sweet head hat red yellow CAR book brown tiger CAR cow CAR CAR milk I would like to replace the word "CAR" with word... (12 Replies)
Discussion started by: bingel
12 Replies

3. Homework & Coursework Questions

Du without directory and Grep for occurrences of a word

Assistance on work Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Files stored in ... (1 Reply)
Discussion started by: alindner
1 Replies

4. Shell Programming and Scripting

Count occurrences in awk

Hello, I have an output from GDB with many entries that looks like this 0x00007ffff7dece94 39 in dl-fini.c 0x00007ffff7dece97 39 in dl-fini.c 0x00007ffff7ab356c 50 in exit.c 0x00007ffff7aed9db in _IO_cleanup () at genops.c:1022 115 in dl-fini.c 0x00007ffff7decf7b in _dl_sort_fini (l=0x0,... (6 Replies)
Discussion started by: ikke008
6 Replies

5. Shell Programming and Scripting

Script to count word occurrences, but exclude some?

I am trying to count the occurrences of ALL words in a file. However, I want to exclude certain words: short words (i.e. <3 chars), and words contained in an blacklist file. There is also a desire to count words that are capitalized (e.g. proper names). I am not 100% sure where the line on... (5 Replies)
Discussion started by: Cronk
5 Replies

6. UNIX for Dummies Questions & Answers

BASH - Counting word occurrences in a Web Page

Hi all, I have to do a script bash (for university) that counts all word occurrences in a specific web page. anyone can help me?. Thanks :) (1 Reply)
Discussion started by: piacentero
1 Replies

7. UNIX for Dummies Questions & Answers

Awk: Counting occurrences between two files

Hi, I have two text files (1.txt and 2.txt). 2.txt contains two columns which are extracted from 1.txt using a simple if(condition) print. I want to: - count how many times the values contained in 2.txt appear in 1.txt -if they appear just one time, I have to delete the entire row in... (5 Replies)
Discussion started by: Pintug
5 Replies

8. Shell Programming and Scripting

awk Group By and count string occurrences

Hi Gurus, I'm scratching my head over and over and couldn't find the the right way to compose this AWK properly - PLEASE HELP :confused: Input: c,d,e,CLICK a,b,c,CLICK a,b,c,CONV c,d,e,CLICK a,b,c,CLICK a,b,c,CLICK a,b,c,CONV b,c,d,CLICK c,d,e,CLICK c,d,e,CLICK b,c,d,CONV... (6 Replies)
Discussion started by: Royi
6 Replies

9. UNIX for Advanced & Expert Users

Find 2 occurrences of a word and print file names

I was thinking something like this but it always gets rid of the file location. grep -roh base. | wc -l find . -type f -exec grep -o base {} \; | wc -l Would this be a job for awk? Would I need to store the file locations in an array? (3 Replies)
Discussion started by: cokedude
3 Replies

10. UNIX for Beginners Questions & Answers

awk or sed script to count number of occurrences and creating an average

Hi Friends , I am having one problem as stated file . Having an input CSV file as shown in the code U_TOP_LOGIC/U_HPB2/U_HBRIDGE2/i_core/i_paddr_reg_2_/Q,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0... (4 Replies)
Discussion started by: kshitij
4 Replies
PERLINDEX(1p)						User Contributed Perl Documentation					     PERLINDEX(1p)

NAME
perlindex - index and query perl manual pages SYNOPSIS
perlindex -index perlindex tell me where the flowers are DESCRIPTION
""perlindex -index"" generates an AnyDBM_File index which can be searched with free text queries ""perlindex" a verbose query". Each word of the query is searched in the index and a score is generated for each document containing it. Scores for all words are added and the documents with the highest score are printed. All words are stemed with Porters algorithm (see Text::English) before indexing and searching happens. The score is computed as: $score{$document} += $tf{$word,$document}/$maxtf{$document} * log ($N/$n{$word}); where $N is the number of documents in the index, $n{$word} is the number of documents containing the word, $tf{$word,$document} is the number of occurances of word in the document, and $maxtf{$document} is the maximum freqency of any word in document. OPTIONS
All options may be abreviated. -maxhits maxhits Maximum numer of hits to display. Default is 15. -menu -nomenu Use the matches as menu for calling "man". Default is -menu.q -cbreak -nocbreak Switch to cbreak in menu mode or don't. -cbreak is the default. -verbose Generates additional information which query words have been not found in the database and which words of the query are stopwords. -conf Use another config than the default config (/etc/perlindex/config). EXAMPLE
perlindex foo bar 1 3.735 lib/pod/perlbot.pod 2 2.640 lib/pod/perlsec.pod 3 2.153 lib/pod/perldata.pod 4 1.920 lib/Symbol.pm 5 1.802 lib/pod/perlsub.pod 6 1.586 lib/Getopt/Long.pm 7 1.190 lib/File/Path.pm 8 1.042 lib/pod/perlop.pod 9 0.857 lib/pod/perlre.pod a 0.830 lib/Shell.pm b 0.691 lib/strict.pm c 0.691 lib/Carp.pm d 0.680 lib/pod/perlpod.pod e 0.680 lib/File/Find.pm f 0.626 lib/pod/perlsyn.pod Enter Number or 'q'> Hitting the keys 1 to "f" will display the corresponding manual page. Hitting "q" quits. All other keys display this manual page. FILES
The index will be generated in your man directory. Strictly speaking in "$Config{man1direxp}/.." The following files will be generated: index_fn # docid -> (max frequency, filename) index_idf # term -> number of documents containing term index_if # term -> (docid, frequency)* index_seen # fn -> indexed? AUTHOR
Ulrich Pfeifer <pfeifer@ls6.informatik.uni-dortmund.de> perl v5.14.2 2012-01-26 PERLINDEX(1p)
All times are GMT -4. The time now is 08:24 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy