Skip to main content

Unix : Count words in a line


The below code will count the number of occurrence of a word in a line and print its count.Here it searching for word "hai" in a line.


#!/bin/bash

v_file="/home/unix/test.txt"

while read line
do
count1=`echo $line | awk 'BEGIN {count=0} 
        { 
        for(i=1;i<=NF;i++) { if($i == "hai") {count = count + 1}}
        }        
        END{ print count }'`
echo "$line,$count1"

done < $v_file


Input text

hai hai hello
hai how are you
how are you


Output text

hai hai hello,2
hai how are you,1

how are you,0

Comments

Popular posts from this blog

Pokemon Go download link

Pokemon go has become the buzz word in tech industry now. Nintendo, the Japanese video game company are the creates of this game. Its first of it kind to integrate a game with augmented reality , so people has to go out to real world with there android or iPhone to catch em all . You can download  Pokemon go  from this link. 

UNIX : How to ignore lines with certain names

Sometimes we need to ignore multiple lines with certain words and get the list out of the file. usually it will be a log file to read . The below grep command can be used to ignore multiple words present in a text file. Lets say the file contain $ cat list.txt apple orange apple banana papaya Now we need to ignore line with orange , banana and papaya . So we can use the below grep command. $ cat list.txt | grep -Ev "orange|banana|papaya" apple apple It will ignore lines with the words in -v part of grep.