какой правильный синтаксис для команды watch

Я хочу следовать слову BLOCK в файле ufw.log каждые две секунды

Я пробую эту команду:

sudo watch BLOCK /var/log/ufw.log 

но я получаю: sh: 1: BLOCK: не найден

какова правильная команда?

Спасибо


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

Следуя этой команде tail -f /var/log/ufw.log | grep BLOCK Это результат:

 [ 6951.750905] [UFW BLOCK] IN=eth0 OUT= MAC=xxxx SRC=88.99.100.01 DST=180.20.40.11 LEN=48 TOS=0x00 PREC=0x00 TTL=110 ID=26663 DF PROTO=TCP SPT=59501 DPT=21 WINDOW=8192 RES=0x00 SYN URGP=0 

Как фильтровать выход для отображения только SRC = «ip_address»

Так что выход будет только: SRC=88.99.100.01

На странице watch :

ЧАСЫ (1)

ИМЯ

  watch - execute a program periodically, showing output fullscreen 

СИНТАКСИС

  watch [options] command 

ОПИСАНИЕ

watch command запускает command , отображая ее вывод и ошибки (первый экран). Это позволяет вам следить за изменением выхода программы с течением времени.

По умолчанию программа запускается каждые 2 секунды.

По умолчанию watch будут работать до тех пор, пока не будут прерваны.


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

EDIT: в соответствии с тем, что вы добавили в комментарии, то, что вы хотите, можно сделать с помощью watch , но это неправильный инструмент для работы.

tail -f /var/log/ufw.log | grep BLOCK tail -f /var/log/ufw.log | grep BLOCK будет постоянно следить за файлом журнала, но на экране отображать только строки, содержащие «BLOCK», что ближе к тому, что я подозреваю.