Иногда я хочу быстро просмотреть содержимое файла из командной строки. Для этого я, конечно, использую cat
, но это часто исходные файлы в Python , Java или простом HTML . Для этих файлов было бы удобно, если бы cat
мог придать файлам некоторую цветовую разметку, чтобы было легче читать.
Может ли cat
сделать такую вещь?
cat
не может сделать это. Тем не менее, может быть, фрагменты могут помочь вам там. Это скрипт на python, который можно установить через apt-get
sudo apt-get install python-pygments
или легко загрузить и установить с помощью easy_install.
Он поддерживает множество языков исходного кода , а также языков разметки
Он используется в
pygmentize -g <filename>
Не от cat
самостоятельно, но можно использовать что-то как исходное выделение или суперкошка или выделение
Исходное выделение
Эта программа, учитывая исходный файл, представляет документ с подсветкой синтаксиса. Это также обеспечивает (новую) библиотеку выделения C++ (начиная с версии 3.0).
Исходное выделение читает спецификации исходного языка динамично, таким образом оно может быть легко расширено (не перекомпилировав источники) для обработки новых языков. Это также читает спецификации выходного формата динамично, и таким образом это может быть легко расширено (не перекомпилировав источники) для обработки новых выходных форматов. Синтаксис для этих спецификаций довольно легок (смотрите на руководство).
Руководство об установке:
Посмотрите УСТАНОВКУ файла для подробного здания и инструкций по установке; так или иначе, если Вы привыкли компилировать программное обеспечение Linux, которое идет с источниками, можно просто выполнить обычную процедуру, т.е. untar файл, который Вы загрузили в каталоге и затем:
cd <source code main directory>
./configure
make
make install
Суперкошка
Это - домашняя страница Суперкошки. Суперкошка является программой что colorizes текст на основе соответствия регулярным выражениям/строкам/символам. Суперкошка поддерживает вывод HTML, а также стандартный текст ASCII. В отличие от некоторых программ текстовой колоризации, которые существуют, Суперкошка не требует, чтобы необходимо было быть программистом для создания правил колоризации.
Если Вы записали файл конфигурации суперкошки для стандартного типа файла, свяжитесь со мной в "SPC ошибки (в) nosredna (точечная) сеть" для возможного включения в распределение суперкошки.
Вот страница в качестве примера работы Суперкошки над emerge.log хинду
Или с функцией (источник):
#!/bin/bash#!/bin/bash
if [ ! -t 0 ];then
file=/dev/stdin
elif [ -f $1 ];then
file=$1
else
echo "Usage: $0 code.c"
echo "or e.g. head code.c|$0"
exit 1
fi
pygmentize -f terminal -g $file
Требует: Pygments (sudo apt-get install python-pygments python3-pygments
) Добавьте его как функцию, чтобы колотить .functions и дать ему имя как цвет ()
Начиная с этого ответа здесь , вы можете использовать пакеты python-pygments
для выделения материала. Сначала выполните:
sudo apt-get install python-pygments python3-pygments
, затем:
pygmentize -g FILENAME
, затем сделайте:
Вы также можете установить это как псевдоним, как в ответе, который я связал - в основном, запустите это:
echo "alias catc='pygmentize -g'" >> ~/.bash_aliases
chmod +x ~/.bash_aliases
Закройте терминал, откройте его снова, и теперь команда catc
должна работать - если это не так, сделайте уверен, что эти строки находятся в файле .bashrc
и не закомментированы:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Другое дело будет просто использовать nano
:
nano testfile
man view
или man vim
Основное использование: view <filename>
Выход: :q<Return>
(сначала добавьте <Esc>
, если используете vim
), или ZZ
(верхний регистр z дважды).
Текстовый редактор программиста vim
уже имеет все, что вам нужно, и, вероятно, уже является частью вашей системы.
vim
имеет режим только для чтения, активированный с помощью view
или vim -R
. Если все, что вы хотите сделать, это просмотреть размеченный файл, этого должно быть достаточно.
Простой в использовании, навигационный, доступен везде. Нет необходимости возиться с установкой нового программного обеспечения или написанием сценариев bash.
Можно проверить ccat .
Добавляет подсветку синтаксиса к выходным файлам.
cat
не может производить подсветку синтаксиса исключительно. Тем не менее, вы можете сделать это следующим образом, используя python-pygments
. Сначала установите его из терминала как,
sudo apt-get install python-pygments
Теперь скопируйте функцию ниже ~/.bashrc
. Это даст вам то, что вы хотите , более того, оно сохранит свойства cat
, иначе нет смысла использовать cat
catc(){
cat "$@" > /tmp/.tmp
pygmentize -g /tmp/.tmp
rm /tmp/.tmp
}
Source ~/.bashrc
as,
. ~/.bashrc
Это даст колоризованный результат,
catc <filename>
Это также будет объединено с цветом,
catc <file1> <file2> ... <filen>
Другие ответы охватывают, почему cat
не в состоянии это сделать. Хотя вы можете сделать это с меньшими затратами, используя lesspipe.sh .
Вы также можете проверить bat
, который имеет следующие особенности:
less
cat
перенаправил Фото взято с официального GitHub
Вы можете получить последний пакет Debian здесь и установить его с помощью:
sudo dpkg -i bat_0.10.0_amd64.deb
Адаптация номера версии и архитектуры . [+1122]
Вместо того, чтобы устанавливать сторонний пакет, можно просто использовать gedit
для быстрого просмотра файла с подсветкой синтаксиса. Например, скопируйте строку поиска выше и вставку в Ваш терминал:
gedit https://askubuntu.com/questions/405960/can-cat-show-files-using-code-markup-in-colors
Вы будете видеть этот вопрос в HTML с отформатированными цветами:
gedit
клавиши навигации cat
, который не требует, чтобы нажатия клавиш закрылись.