I'm using grep to match string in a file. Here is an example file:
example one,
example two null,
example three,
example four null,
grep -i null myfile.txt
returns
example two null,
example four null,
How can I return matched lines together with their line numbers like this:
example two null, - Line number : 2
example four null, - Line number : 4
Total null count : 2
I know -c returns total matched lines, but I don't how to format it properly to add total null count
in front, and I don't know how to add the line numbers.
What can I do?
-n
returns line number.
-i
is for ignore-case. Only to be used if case matching is not necessary
$ grep -in null myfile.txt
2:example two null,
4:example four null,
Combine with awk
to print out the line number after the match:
$ grep -in null myfile.txt | awk -F: '{print $2" - Line number : "$1}'
example two null, - Line number : 2
example four null, - Line number : 4
Use command substitution to print out the total null count:
$ echo "Total null count :" $(grep -ic null myfile.txt)
Total null count : 2