'часы', 'хвост', 'grep' комбинация в 'windows.tmux' 'byobu

Я (ре), пишущий мой windows.tmux для мой часто используемый byobu сессии. Ниже мое точное требование:

Я хотел бы иметь вкладку (или окно?) с корневой подсказкой. (На запуске это ожидает sudo passwd). Я хотел бы, чтобы второй был разделен горизонтально. В верхней части я хочу контролировать мой /var/log/syslog и в более низком dmesg. До сих пор я могу достигнуть путем выполнения следующего:

new-session -AD -s 'root' sudo su - ;
new-window -n log watch -n 1 tail -n 15 /var/log/syslog
split-window watch dmesg | tail -15;

Однако проблема (который абсолютно не важен этому потоку), что существует много записей в моем syslog (почти 4/5 строки в секунду), которого я хотел бы избежать при контроле. Таким образом, я хотел бы grep -v на этих строках. Комбинация watch, tail и grep может быть достигнут согласно моей потребности (благодаря steeldriver для его ответа здесь.)

watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'

Здесь начинает проблему: Если я включаю следующую строку в мой window.tmux

new-window -n log watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'

Я добираюсь,

sh: 1: tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2": not found

На самом деле более общая проблема состоит в том, если я инкапсулирую команду в кавычках (ли единственный ' или дважды "), я получаю ту же ошибку.

Вывод byobu --version :

byobu version 5.116
tmux 2.3

Я использую GNU bash, version 4.4.7(1)-release на 17,04.

Заранее спасибо - Mike

Я не экспериментировал с screen. Это достижимое использование screen?

1
задан 29 June 2017 в 18:23

1 ответ

В вашем bashrc создайте псевдоним

alias monitor_log='tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern1"'

Ваш windows.tmux может быть:

new-session -AD -s 'root' sudo su - ;
new-window -n log;
split-window watch dmesg | tail -15;

Это даст вам приглашение bash во втором верхнем углу окна. разделить и Dmesg в нижней части. А затем дайте свою любимую команду watch:

watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'

Не уверен, что вы можете создать псевдоним для этого!

Надеюсь, это поможет.

1
ответ дан 7 December 2019 в 15:33

Другие вопросы по тегам:

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