How can I use a bash script to find the line number where a string occurs?
For example if a file looked like this,
Hello I am Isaiah
This is a line of text.
This is another line of text.
and I ran the script to look for the string "line" it would output the number 2, as it is the first occurance.
Given that your example only prints the line number of the first occurrence of the string, perhaps you are looking for:
If you actually want all occurrences (eg, if the desired output of your example is actually "2\n3\n"), omit the
exit
.I like Siddhartha's comment on the OP. Why he didn't post it as an answer escapes me.
I usually just want the line number of the first line that shows what I'm looking for.
Explained: after the grep, grab just the first line (num:line), cut by the colon delimiter and grab the first field