Фильтрация строк по шаблону пары слов
Мой текстовый файл выглядит так:
city=london&language=en&x=12345&y=6789&z=7
sometext?z=7
city=dublin&language=en&x=12345&y=6789&z=7
city=madrid&language=en&x=12345&y=6789&z=7
sometext?y
sometext?x
Мне нужно отфильтровать текст по критериям - если определенная строка содержит:
city, language, x, y, z anywhere in the line
оставь эти строки.
Вывод после фильтрации моих данных будет:
city=london&language=en&x=12345&y=6789&z=7
city=dublin&language=en&x=12345&y=6789&z=7
city=madrid&language=en&x=12345&y=6789&z=7
Какой самый простой способ сделать это?
1 ответ
Вы можете напрямую комбинировать тесты регулярных выражений логически в awk
например
$ awk '/city/ && /language/ && /x/ && /y/ && /z/' file.txt
city=london&language=en&x=12345&y=6789&z=7
city=dublin&language=en&x=12345&y=6789&z=7
city=madrid&language=en&x=12345&y=6789&z=7