Что означает $0=$1 в awk?

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

Однако nmap не может сказать вам, какие порты в целом заблокированы Wi-Fi в аэропорту. Вы можете попробовать выполнить сканирование портов на несуществующем -, но маршрутизируемом хосте, и посмотреть, отклоняет ли шлюз Wi-Fi некоторые попытки подключения, которые должны отличаться от попыток подключения без ответа.

9
22.03.2020, 22:03
2 ответа

Это не совсем $0=$1; думайте об этом скорее как

$0 = ($1" "$1*$2" "$3*$4)

Итак,

$0=$1" "$1*$2" "$3*$4

присваивает результат объединения строк $1" "$1*$2" "$3*$4переменной $0и выполняет действие по умолчанию {print $0}, тогда как

 $1*$2" "$3*$4

объединяет результаты $1*$2и$3*$4(с пробелом " "между )и выполняет действие по умолчанию {print $0}, поскольку результатом является не -пустая строка. Значение $0не изменяется.

17
28.04.2021, 23:19

в awk

  • $0целая строка
  • строку можно менять на лету

таким образом

  • $1" "$1*$2" "$3*$4создать 3 поля $1, $1*$2и$3*$4
  • $0=результат помещается в строку, а неявно печатается(см. правку ).

Редактировать:

Если вы опустите $0=, строка вывода не изменится.

Как указал Стилдрайвер, поскольку поиск положительный, строка prinetd.

8
28.04.2021, 23:19

Теги

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