Count dynamic words in file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Count dynamic words in file
# 1  
Old 07-19-2014
Count dynamic words in file

Hello,

i want built a log analyzer for nginx. Okay and i use it as training for the shell tools. The most what i want i could relize. But i has trouble with dynamic things. I have the IP address extracted and has set the geo localtion for the ip.

I would like to count the countries. With fixed data, no problem. But how can I automate it without giving a pattern. For example i often has china, germany and united states. But im to has some brazil, russia or algeria.

So i grep with pattern:

Code:
tr -s ' ' '\n' < iplog.txt | grep -c China

But i want grep and count automatic when is more then zero entry in file for a country?

The file is built ip country.

Has someone an idea? I hope i has correct explain.

Thank you for help & Nice Day
Silvio
# 2  
Old 07-19-2014
This could easily be done with the associative array feature of awk. What is the format of the file?

Suppose the country name is in column 2 then you could use something like:
Code:
awk '{A[$2]++} END{for(i in A) print i, A[i]}' iplog.txt

# 3  
Old 07-19-2014
Hello,

the file is so:

Code:
ipadress	 Russian Federation
ipadress	 Germany
ipadress	 United States
ipadress	 United States
ipadress	 Brazil
ipadress	 China

I think i can use:

Code:
cat ip.txt | tr -cs A-Za-z\' '\n'| tr A-Z a-z | sort | uniq -c > ipstatstemp.txt

So it work.

THank you for help & Nice Day

Silvio
# 4  
Old 07-19-2014
This should work then:
Code:
awk '{A[$2]++} END{for(i in A) print A[i], i}' FS='\t' OFS='\t' iplog.txt

This User Gave Thanks to Scrutinizer For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

View a file and count all words beginning with specificletter

I am trying to write a command and need to count all the words within the file which begin with the letter S I have run this command $ grep '^' TheAgileApproach.dat | wc -l 0 $ grep '^' TheAgileApproach.dat | wc -l 1 When I remove the wc -l I see the output as below: $ grep '^'... (7 Replies)
Discussion started by: simpsa27
7 Replies

2. Shell Programming and Scripting

Count words from file

hi all how to count words from a text aaa bbb ccc ddd 123 aaa 123 aaa aaa ddd 123 i need to cout hoe many time the words "aaa" and "123" each appears the output should be 4 3 or 4 3 or aaa 4 123 3 thanks (10 Replies)
Discussion started by: sharong
10 Replies

3. Shell Programming and Scripting

How count the number of two words associated with the two words occurring in the file?

Hi , I need to count the number of errors associated with the two words occurring in the file. It's about counting the occurrences of the word "error" for where is the word "index.js". As such the command should look like. Please kindly help. I was trying: grep "error" log.txt | wc -l (1 Reply)
Discussion started by: jmarx
1 Replies

4. Shell Programming and Scripting

problem to count number of words from file

hi every one i have written this simple shell for counting number of word that user need to find from file but i have get several error when run it. can someone tell me the problem ? echo "Enter the file name" read file echo "enter word" read word for i in \`cat $file` do if then... (1 Reply)
Discussion started by: nimafire
1 Replies

5. Shell Programming and Scripting

count frequency of words in a file

I need to write a shell script "cmn" that, given an integer k, print the k most common words in descending order of frequency. Example Usage: user@ubuntu:/$ cmn 4 < example.txt :b: (3 Replies)
Discussion started by: mohit_iitk
3 Replies

6. Shell Programming and Scripting

Count the number of words in some subset of file and disregard others

Hi All, I have some 6000 text files in a directory. My files are named like 1.txt, 2.txt 3.txt and so on until 6000.txt. I want to count the "number of words" in only first 3000 of them. Any suggestions? I know wc -w can count the number of words in a text file. I am using Red Hat Linux. (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

7. Shell Programming and Scripting

Shell script to find out words, replace them and count words

hello, i 'd like your help about a bash script which: 1. finds inside the html file (it is attached with my post) the code number of the Latest Stable Kernel, 2.finds the link which leads to the download location of the Latest Stable Kernel version, (the right link should lead to the file... (3 Replies)
Discussion started by: alex83
3 Replies

8. Shell Programming and Scripting

Help in counting the no of repeated words with count in a file

Hi Pls help in solving my doubt.Iam having file like below file1.txt priya jenny jenny priya raj radhika priya bharti bharti Output required: I need a output like count of repeated words with name for ex: priya 3 jenny 2 (4 Replies)
Discussion started by: bha148
4 Replies

9. Shell Programming and Scripting

Count words on each line in file using xargs

Hi, im having a problem with xargs, i want to cout word of each line in file, and i HAVE to use xargs, i tried: cat file | xargs wc -w .....that uses all words in file like name of files and passed then to wc so it worte wc :somewordformfile is not i afile or directory cat file | xargs -I{} wc... (3 Replies)
Discussion started by: Qwetek
3 Replies

10. Shell Programming and Scripting

Dynamic Variable Based on Count

I'm trying to assign variables that include the current value of a count, but I can't seem to get it working... this script is incomplete, but some guidance on how to use a dynamic variable would be helpful: Sample Input: bash-2.03$ more sg2.txt Results for group6 443 1394 Results for... (3 Replies)
Discussion started by: earnstaf
3 Replies
Login or Register to Ask a Question