Есть ли способ генерировать вывод команды без использования bashrc / bash_profile?

Я сделал программу, в которой я могу читать несколько журналов из разных программ, я хочу, чтобы на выходе были выделены определенные термины, поэтому я могу найти более интересные части. (Я не буду использовать grep или что-нибудь подобное, потому что мне все еще нужно прочитать весь журнал, я просто хочу сделать некоторые интересные термины разными цветами, чтобы быстро найти их).

Я нашел это , но опять же, это не то, что я ищу. Я ищу способ передать текст.

3 Solutions collect form web for “Есть ли способ генерировать вывод команды без использования bashrc / bash_profile?”

Для цветопередачи вывода команды или содержимого файла я могу представить два простых метода, которые могут работать хорошо:

  • grep – можно также показать остальную часть файла и выполнить несколько совпадений с несколькими расширенными параметрами – например:

     grep --color -iE 'log|kernel' -C 999 grep --color -iE 'log|kernel|$' 

    Первый поиск log и kernel без учета регистра и показывает окружающие 999 строк. Второй поиск log , kernel и символа присутствует в каждой строке (как предлагается здесь ) без учета регистра. Для получения дополнительной информации вы можете проконсультироваться с man grep если это доступно, или прочитать руководство по GNU grep или OSX grep .

  • python-pygments – должны быть доступны через pip . Может использоваться для подсветки синтаксиса, он может иметь лексер для того, что вы хотите обработать.

Кроме того, для общего форматирования вы можете использовать escape-коды ANSI – например:

 echo -e "\033[31mred\033[0m" echo -e "\033[34mblue\033[0m" 

\033 – это escape-символ, и после этого вы можете указывать коды для разных целей – вы также можете указать несколько:

 echo -e "\033[1;31mbold red\033[0m" echo -e "\033[4;34mblue underlined\033[0m" 

Я не уверен в поддержке OSX, хотя … вам может понадобиться попробовать другой escape-символ – цвета в терминале также могут быть включены .

Используйте grep. Имейте ^ быть одним из ваших условий поиска, чтобы вы все равно получали каждую строку (но она будет неокрашенной, если только она не содержит видимых совпадений).

Пример:

 grep -e '[[:upper:]][[:alnum:]]*' -e ^ <<EOF This Is An example file. All lines in it will be printed, and all words that start with a Capital letter will be Colorized. EOF 

(Это использует heredoc (поиск в руководстве по оболочке для «Здесь Документы»). Трубопровод stdin или настоящий файл был бы таким же прекрасным).

Если вы просто хотите произвольно изменить цвета текста, вы можете использовать escape-последовательности ANSI для этого. Например, ESC [31m изменит цвет текста на красный, ESC [37m будет производить белый и т. Д.).

Вы можете использовать sed для вставки escape-кодов для определенных цветов в определенных местах в потоке. Вот пример того, кто делает это.

В дополнение к изменению цветов вы можете делать много других манипуляций с экраном. Вот ссылка.

  • синхронизировать файлы с разным расширением в MacOS
  • Чтение FreeBSD UFS отформатированного внешнего диска в Mac OS X
  • Автоматически отключать расширения Linux для Samba mounts
  • Как исправить эту проблему разрешения mysql?
  • описание порядка сортировки
  • как я могу создать два файла с одинаковым именем с различным случаем в mac osx
  • Поиск не работает
  • Добавить пользователя для Postgres на Mac
  • gnuplot не может увеличить Mac Sierra
  • Как загрузить файл с хоста, к которому я уже подключен, поверх ssh
  • MacOS: история USB (имя и временная метка подключенных устройств)
  • Linux и Unix - лучшая ОС в мире.