Извлечь строки из файла со значением, параметр которого больше 100, с помощью grep и awk [закрыто]

Puede utilizar el módulo fail:

tasks:
  - wait_for:
      host: ams-server-101
      port: 443
      timeout: 1
    register: https_port_check
    ignore_errors: true
  - fail:
      msg: 'HTTPS port is open'
    when: not https_port_check.failed

O muy bonito y breve como sugirió Patrick, pero sin mensaje de error personalizado:

  tasks:
    - wait_for:
        host: ams-server-101
        port: 443
        timeout: 1
      register: https_port_check
      failed_when: not https_port_check.failed

Para una verificación tan importante, podría ser apropiado culpar al usuario con un mensaje de falla vicioso.

-1
27.02.2019, 09:12
2 ответа

Без минимального примера трудно догадаться, что вы ищете...

В любом случае, этот скрипт awkможет быть полезен, если вы хотите отфильтровать строки с параметром ZH:

awk 'strtonum(gensub(/^.*ZH:.:([0-9]+).*$/, "\\1", "1"))>100' file

Печатаются все строки, включая поле типа ZH:<one character>:<some number>.

gensubизвлекает число, связанное с ZH. Затем оно преобразуется в число и сравнивается с числом 100.

0
28.04.2021, 23:36

Используйте headи grep:

.
(
# get header
head -n 28 file
# grep lines with ZH value > 100
grep -Ew "ZH:.:[1-9][0-9]{2,}" file
) > outfile
1
28.04.2021, 23:36

Теги

Похожие вопросы