Saturday, October 29, 2022

[SOLVED] Grepping for exact words with UNIX

Issue

I want to search Exact word pattern in Unix. Example: Log.txt file contains following text:

aaa
bbb
cccaaa   ---> this should not be counted in grep output looking for aaa

I am using following code:

count=$?
count=$(grep -c aaa $EAT_Setup_BJ3/Log.txt)

Here output should be ==> 1 not 2, using above code I am getting 2 as output. Something is missing, so can any one help me for the this please?


Solution

Word boundary matching is an extension to the standard POSIX grep utility. It might be available or not. If you want to search for words portably, I suggest you look into perl instead, where you would use

perl -ne 'print if /\baaa\b/' $EAT_Setup_BJ3/Log.txt


Answered By - Jens
Answer Checked By - Candace Johnson (WPSolving Volunteer)