Я пытаюсь выбрать некоторые заголовки из длинного списка, используя ключевые слова.
Вот примерная строка, упрощенная для целей этого вопроса.
tolower($0) ~ /model selection/ || tolower($0) ~ /structure learning/{print}
С помощью этой строки я хочу напечатать любую строку, содержащую «выбор модели» или «изучение структуры».Но для каждого шаблона, который я добавляю в эту командную строку, я должен поместить это выражение tolower($0) ~
.В противном случае awk не будет печатать строки, содержащие Model selection
или Structure learning
.Разве нет способа применить функцию pattern after
tolower ($ 0) ~?
После публикации этого вопроса я понял, что я действительно хочу сделать, это использовать операцию логического шаблона с выводом tolower ($ 0), что-то вроде (если я хочу напечатать строку с pattern1 and (pattern2 or pattern3)
)
tolower($0) ~ /pattern1&(pattern2|pattern3)/{print}
без повторения tolower () .. а также я хочу найти шаблон с tolower (), например / RL / в $ 0.
Конечно, я могу сделать
/RL/ || (tolower($0) ~ /pattern1/ && tolower($0) ~ /pattern2|pattern3/) {print}
Но я хочу использовать tolower () только один раз.