Если вы хотите использовать регулярное выражение, вам нужно использовать соответствующие модификаторы и якоря, чтобы получить только желаемое соответствие (es ). В вашем случае шаблон Regex1.1.1.2
(.
означает, что любой одиночный символ BTW )будет соответствовать всем строкам, следовательно, результат. Последний из них awk '"^1.1.1.2$" {print NR}'
- это не то, как вы помещаете шаблон Regex в awk
--, вам нужно использовать либо //
, либо $<field> ~ <pattern>
.
Вот как можно получить желаемый результат:
Способ регулярного выражения :избежать всех .
, чтобы трактовать их буквально, добавить $
для соответствия концу:
awk '/1\.1\.1\.2$/ {print NR}' test.csv
Обработка строк :печать номера записи, если ,
, за которым следует любое горизонтальное разделенное пробелом последнее поле1.1.1.2
:
awk -F ',[[:blank:]]*' '$NF == "1.1.1.2" {print NR}' test.csv