I need to find lines in the text file where the second column starts with the number 117
. How do I do that in bash? I tried
grep -E 117 test.txt
but that just prints everything with 117
.
CodePudding user response:
grep
is not the right tool for this. Use one of these 2 awk solutions:
# regex approach
awk '$2 ~ /^117/' test.txt
# non-regex approach
awk 'index($2, "117") == 1' test.txt
CodePudding user response:
If you want to use grep, make sure that you match the second column:
grep -E '^\w \s 117' test.txt
-E
use extended regular expressions^
start of the line anchor\w
one or more characters\s
one or more whitespaces117
match when the second column starts with the number 117