С удивлением обнаружил, что никто на Хабрахабре не писал про bcat. Это маленькая удобная утилита для просмотра вывода консольных программ в браузере. У вас есть скрипт, возвращающий HTML? Bcat! Нужен простой предпросмотр для README-файла с Markdown-форматированием, который вы только что дописали? Bcat! Пишете парсер веб-сайта, и хотите посмотреть, что за ошибку возвращает сайт? Bcat! Есть большой лог, и вы хотите, чтобы он отобразился чёрным по белому, и его было удобно читать? Ну, вы поняли, да? :)
Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).
Для установки bcat можно воспользоваться gem:
Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).
Для проверки можно попробовать открыть календарь на 2014 год:
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Просмотр логов
Текст в браузере будет обновляться по мере появления новых строк в логе.
Лог на удалённом сервере можно смотреть так:
Использование в качестве пейджера
Можно использовать bcat как pager для разных программ.
Для man:
Для git:
После этого, когда вы запускаете, например, «man grep» или «git log», фокус переключается на окно браузера, и вывод команд открывается в новой вкладке. Кстати, если в Git включён цветовой вывод, то цвета будут отображаться и в браузере тоже.
Просмотр буфера обмена
Для Linux:
Для Mac OS X:
Markdown
Просмотр Markdown-файла с форматированием:
Команды, естественно, можно состыковывать как угодно. Например просмотреть содержимое буфера обмена с Markdown-форматированием можно так (для Linux):
Или так (для Mac OS X)
Тестирование шаблона Django
Допустим, в текущей рабочей директории есть шаблон template.html, и вы хотите посмотреть, как он будет отображаться с определённым контекстом.
Создаём файл preview_template.py и запускаем такую команду:
В браузере тут же открывается результат рендеринга шаблона.
Разумеется, это только примеры, а вообще использовать bcat можно для огромного количества разнообразных повседневных задач.
Программа работает на Linux, Mac OS X и FreeBSD (и, теоретически, на любой UNIX-подобной платформе с интеграцией freedesktop.org).
Для установки bcat можно воспользоваться gem:
gem install bcat
Вместе с bcat устанавливается rack (если, конечно, он не был уже установлен до этого).
Для проверки можно попробовать открыть календарь на 2014 год:
python -c "import calendar ; print calendar.HTMLCalendar().formatyear(2014)" | bcat
Если в браузере открылась новая вкладка, и в ней отобразился календарь — значит, всё работает правильно.
Просмотр логов
tail -n 1000 -f /var/log/messages | bcat
Текст в браузере будет обновляться по мере появления новых строк в логе.
Лог на удалённом сервере можно смотреть так:
ssh mywebsite.com 'sudo tail -f /var/log/nginx/access.log' | bcat
Использование в качестве пейджера
Можно использовать bcat как pager для разных программ.
Для man:
export MANPAGER='sh -c "col -b | bcat"'
Для git:
export GIT_PAGER=bcat
После этого, когда вы запускаете, например, «man grep» или «git log», фокус переключается на окно браузера, и вывод команд открывается в новой вкладке. Кстати, если в Git включён цветовой вывод, то цвета будут отображаться и в браузере тоже.
Просмотр буфера обмена
Для Linux:
xclip -o -selection c | bcat
Для Mac OS X:
pbpaste | bcat
Markdown
Просмотр Markdown-файла с форматированием:
markdown README.md | bcat
Команды, естественно, можно состыковывать как угодно. Например просмотреть содержимое буфера обмена с Markdown-форматированием можно так (для Linux):
xclip -o -selection c | markdown | bcat
Или так (для Mac OS X)
pbpaste | markdown | bcat
Тестирование шаблона Django
Допустим, в текущей рабочей директории есть шаблон template.html, и вы хотите посмотреть, как он будет отображаться с определённым контекстом.
Создаём файл preview_template.py и запускаем такую команду:
python preview_template.py template.html "{'username': 'Његош'}"
В браузере тут же открывается результат рендеринга шаблона.
Разумеется, это только примеры, а вообще использовать bcat можно для огромного количества разнообразных повседневных задач.
Смотри также
- Осовремененный Unix Way или pipe в браузер
- Команда sponge: «губка» для стандартного ввода
- Linux pipes tips & tricks