рассмотрим простой файл с именем test
, содержащий следующий текст:Зачем мне нужно избегать скобок в константе строки awk?
abc(def)
С awk
, если бы я узнал, что это будет работать:
awk '$0 ~ "abc\(def\)"' test
, но это не будет работать, если круглые скобки не являются должным образом спасся:
awk '$0 ~ "abc(def)"' test
Опуская правую скобку, я получил эту ошибку:
awk: line 1: regular expression compile failed (missing ')')
abc(def
Не строка цитирует ""
строковой константы в AWK? Почему ()
рассматривается как специальный символ регулярного выражения в строковой константе?
спасибо. Я не понимал, что мое понимание '' 'неточно. Я должен подумать об этом. – Naitree
Это одна вещь, которую я узнал из некоторых ответов здесь: вы всегда должны проверять документацию, в основном это объясняется там, хотя я сначала не верил в это. – martin
Правильно, по крайней мере теоретически. Но иногда трудно догадаться, какая часть вашего понимания не соответствует истине, и в этом случае вы несколько слепы, чтобы найти правильную часть документации. – Naitree