Из-за пробелов между одним словом Awk изменился вывод

Из-за пробелов между одним словом Awk изменился вывод

например: «Локальный адрес» awk считают локальным и адрес отдельно

 # netstat -antulp | awk 'NR>1' Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1115/rpcbind tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1397/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1271/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1473/master tcp 0 0 0.0.0.0:55547 0.0.0.0:* LISTEN 1133/rpc.statd 

Результат: $4 $5 $6

 Local Address Foreign Address PID/Program name 0.0.0.0:111 0.0.0.0:* 1115/rpcbind 0.0.0.0:22 0.0.0.0:* 1397/sshd 127.0.0.1:631 0.0.0.0:* 1271/cupsd 127.0.0.1:25 0.0.0.0:* 1473/master 0.0.0.0:55547 0.0.0.0:* 1133/rpc.statd 

2 Solutions collect form web for “Из-за пробелов между одним словом Awk изменился вывод”

Из руководства awk:

Утилита awk должна интерпретировать каждую входную запись как последовательность полей, где по умолчанию поле представляет собой строку непустых символов без символа новой строки . Этот разделитель полей пустой и новой строки по умолчанию можно изменить с помощью встроенной переменной FS или опции -F sepstring.

Вы можете изменить поведение, используя параметр «-F», или установив параметр FS в свой awk-код:

 awk 'BEGIN{FS="\t"} {print $1 $2 $3}' 

Насколько netstat делает вывод, я не могу ответить. 🙂

пытаться

 netstat -antulp |\ awk 'NR == 1 { skip } NR == 2 { printf "%s %-19s\t%s %-18s\t%s %s\n",$4,$5,$6,$7,$9,$10} NR > 2 { printf "%-24ss\t%-24ss\t%s\n",$4,$5,$6 ;}' 

где

  • первая строка пропущена
  • вторая строка, я выбираю поле, которое вам нужно (и отрегулируйте размер столбца)
  • все остальные строки, поле печати с настройкой
  • Я сбрасываю линию для лучшего обзора, это может быть одно выровнено, конечно.
  • Как awk уникальная строка и печать 2 строк выше
  • Как обменивать целые html-блоки в нескольких файлах с помощью sed
  • команда awk для разбора файла
  • Извлечь имя файла из пути в awk-программе
  • Как выбрать определенные наборы или вытеснить из файла, если struture содержит определенную строку?
  • Измените значения параметра из файла и сгенерируйте файлы параметров из него
  • Объединение двух таблиц, включая многократное появление идентификаторов столбцов и уникальных строк
  • Печать строк с нечетными номерами, печать строк с четными номерами
  • Конкатенация последовательностей под заголовком
  • Сравнить 2 столбца в 2 разных файлах
  • Лучший способ вставить блоки HTML в bash
  • Interesting Posts

    Написание модуля ядра Linux для ярлыков / разделов диска MSDOS

    Как назначить тег плавающему окну в Awesome WM?

    Как проверить, использует ли файл CRLF или LF без его модификации?

    Установка Docker на CentOS

    Массовое добавление пользователей в группы

    Должно ли приостановленное приложение в фоновом режиме (ctrl + z) запускаться или оно должно прекратиться?

    рыба + сценарий -> хаос, какие варианты?

    Как использовать меньше в скрипте без получения ESC escape-символов?

    Команда пропустить процесс, если файл существует

    Как создать сетевой трафик и сохранить его в pcap-файлы?

    Есть ли способ синхронизации только одного раздела?

    Подождите, пока не будет входящего сетевого соединения в течение N минут, затем выполните команду

    Разделение гигантских файлов на определенное количество строк

    Расположение паролей пользователей в FreeBSD

    Бэширование многопараметрического аргумента

    Linux и Unix - лучшая ОС в мире.