Все это время мы смотрели на простые выражения, проверяя, выполнено ли условие или нет. Что, если вы хотите использовать более одного выражения для проверки определенного условия?
В этой статье мы рассмотрим, как можно комбинировать несколько выражений, называемых составными выражениями, для проверки наличия условия при фильтрации текста или строк.
В Awk, составные выражения построены с использованием &&
упоминается как (и)
и ||
упоминается как (или)
составные операторы.
Общий синтаксис составных выражений:
(первое_выражение) && (второе_выражение)
Здесь, первое_выражение
и второе_выражение
должно быть истинным, чтобы все выражение было истинным.
(первое_выражение) || (второе_выражение)
Здесь одно из выражений либо первое_выражение
или второе_выражение
должно быть истинным, чтобы все выражение было истинным.
Осторожность: Не забывайте всегда включать круглые скобки.
Выражения могут быть построены с использованием операторов сравнения, которые мы рассмотрели в Часть 4 из серии awk.
Давайте теперь получим четкое представление, используя пример ниже:
В этом примере есть текстовый файл с именем tecmint_deals.txt
, который содержит список некоторых удивительных случайных сделок Tecmint, он включает название сделки, цену и тип.
Список сделок TecMint
Без названия Тип цены. 1 Программное обеспечение Mac_OS_X_Cleanup_Suite за 9,99 долл. США. 2 Basics_Notebook $ 14,99 Образ жизни. 3 Tactical_Pen $ 25,99 Образ жизни. 4 Scapple $ 19.00 Неизвестно. 5 Nano_Tool_Pack $ 11,99 Неизвестно. 6 Ditto_Bluetooth_Altering_Device $ 33.00 Тех. 7 Nano_Prowler_Mini_Drone Технологии за 36,99 $
Скажем, мы хотим печатать и отмечать только те сделки, которые указаны выше $20 и типа «Технология» с использованием (**)
подпишите в конце каждой строки.
Нам нужно будет запустить команду ниже.
# awk '($ 3 ~ /^$[2-9 visible[0-9 ]*******************************************************************************************## t% s \ n ", $ 0," * "; } 'tecmint_deals.txt 6 То же самое_Bluetooth_Altering_Device $33.00Техника * 7 Nano_Prowler_Mini_Drone $36.99Техника *
В этом примере мы использовали два выражения в составном выражении:
Помните, что строка будет отмечена только (**)
, если первое выражение и второе выражение верны, как утверждает принцип &&
оператор.
Некоторые условия всегда требуют построения составных выражений, которые точно соответствуют тому, что вы хотите. Когда вы поймете использование операторов сравнения и составных выражений, фильтрация текста или строк на основе некоторых сложных условий станет простой.
Надеюсь, вы найдете это руководство полезным, а при возникновении любых вопросов или дополнений всегда не забывайте оставлять комментарии, и ваша проблема будет решена соответствующим образом.