About Tech
Закрывать
Меню

Навигация

  • сертификаты Linux
  • дистрибутивы Linux
  • Kvm
  • Рейд
  • Russian
    • Russian
    • Arabic
    • Bulgarian
    • Croatian
    • Czech
    • Danish
    • Dutch
    • Estonian
    • Finnish
    • French
    • Georgian
    • German
    • Greek
    • Hebrew
    • Hindi
    • Hungarian
    • Indonesian
    • Italian
    • Japanese
    • Korean
    • Latvian
    • Lithuanian
    • Norwegian
    • Polish
    • Portuguese
    • Romanian
    • Serbian
    • Slovak
    • Slovenian
    • Spanish
    • Swedish
    • Thai
    • Turkish
    • Ukrainian
    • Persian
Закрывать

Как использовать составные выражения с Awk в Linux

Все это время мы смотрели на простые выражения, проверяя, выполнено ли условие или нет. Что, если вы хотите использовать более одного выражения для проверки определенного условия?

В этой статье мы рассмотрим, как можно комбинировать несколько выражений, называемых составными выражениями, для проверки наличия условия при фильтрации текста или строк.

В 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Техника *

В этом примере мы использовали два выражения в составном выражении:

  1. Первое выражение, ($3 ~ /^\$[2-9][0-9]*\.[0-9][0-9]$/); проверяет наличие строк со сделками с ценой выше $20, и это верно, только если значение $3 цена соответствует шаблону /^\$[2-9][0-9]*\.[0-9][0-9]$/
  2. И второе выражение, (4 доллара == «Технологии»); проверяет, является ли сделка типовой «Технология» и это верно только в том случае, если значение $4 равно «Технология».

Помните, что строка будет отмечена только (**), если первое выражение и второе выражение верны, как утверждает принцип && оператор.

Резюме

Некоторые условия всегда требуют построения составных выражений, которые точно соответствуют тому, что вы хотите. Когда вы поймете использование операторов сравнения и составных выражений, фильтрация текста или строк на основе некоторых сложных условий станет простой.

Надеюсь, вы найдете это руководство полезным, а при возникновении любых вопросов или дополнений всегда не забывайте оставлять комментарии, и ваша проблема будет решена соответствующим образом.

Возврат иностранного НДС стал проще с приложениями
Возврат иностранного НДС стал проще с приложениями
on Jul 26, 2023
Как отключить звук уведомлений и сообщений на Facebook
Как отключить звук уведомлений и сообщений на Facebook
on Jul 26, 2023
Pokemon Masters запущены сегодня, серверы вышли из строя!
Pokemon Masters запущены сегодня, серверы вышли из строя!
on Jul 26, 2023
сертификаты Linuxдистрибутивы LinuxKvmРейдДжангоКрасная ШапкаLfcaкоманды LinuxИнструменты мониторингаКластеризацияРуководствоXenserverЛучшие инструментывеб браузерыDebianFedoraLinux монетный дворЭлектронные книгиRhceCentosМежсетевые экраныКакие новостиLfcsNodejsKali LinuxKubernetesМенеджеры пакетовРедакторыКоманда AwkСед команда
  • сертификаты Linux
  • дистрибутивы Linux
  • Kvm
  • Рейд
  • Джанго
  • Красная Шапка
  • Lfca
  • команды Linux
  • Инструменты мониторинга
  • Кластеризация
  • Руководство
  • Xenserver
  • Лучшие инструменты
  • веб браузеры
  • Debian
  • Fedora
  • Linux монетный двор
  • Электронные книги
© Copyright About Tech 2023