Как подсчитать количество строк в середине канала

Я решил отредактировать /etc/avahi/avahi -daemon.conf и внести следующие изменения : use-ipv4=no use-ipv6=no

Затем выполните root@magrf# service avahi-daemon restart

Убедитесь, что демон avahi остановлен : root@magrf# ps -ef | grep avahi root 8311 8220 0 17:50 pts/0 00:00:00 grep avahi root@magrf#

Как видите, процессы avahi не запущены. Если перезагрузка не удалась, попробуйте явно root@magrf# service avahi-daemon stop root@magrf# service avahi-deamon start

Перезапуск важен для того, чтобы avahi мог повторно -прочитать конфигурацию и завершить сервисные процессы. Затем он выполнил изящный выход.

0
24.11.2019, 13:10
1 ответ

Основываясь на обсуждении и коде sed от Камила, я нашел это awk-решение:

awk -v th="$threshold" '
  function print_lines() { for (i in lines) print lines[i] }
  NR < th { lines[NR] = $0 }
  NR > th { print }
  NR == th { print th; print_lines(); print }
  END { if (NR < th) { print NR; print_lines(); } }' \
| if read nlines; then
    if [ "$nlines" -eq "$threshold" ]; then
      grep a
    else
      grep b
    fi
  fi
0
28.01.2020, 02:29

Теги

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