Às vezes, quero rapidamente exibir o conteúdo de um arquivo na linha de comando. Para isso, é claro que uso cat
, mas geralmente são arquivos de origem em Python , Java ou HTML simples . Para esses arquivos, seria útil se cat
pudesse dar alguma marcação de cores aos arquivos, para facilitar a leitura.
Pode cat
fazer uma coisa dessas?
cat -v
considerado prejudicial .Respostas:
cat
não é capaz de fazer isso. No entanto, talvez os pigmentos possam ajudá-lo lá. É um script python e pode ser instalado via apt-getou facilmente baixado e instalado via easy_install.
Ele suporta várias linguagens de código-fonte e também linguagens de marcação
É usado por
fonte
pygmentize -g <filename>
, o-g
switch é importante para manipular arquivos sem lexer. por exemplo, se você tentar/etc/fstab
abrir sem-g
ele falhará.pygmentize --help
Se-g
for aprovado, tente adivinhar o lexer a partir do conteúdo do arquivo ou passe como texto sem formatação se isso falhar (isso pode funcionar para o stdin).funced cat... type pygmentize -g $argv... save..funcsave cat
.bashrc
eu adicionei:command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
Não de
cat
si mesmo, mas você pode usar algo como highlite fonte ou supercat ou destaqueOu com uma função ( fonte ):
Requer: Pigmentos (
sudo apt-get install python-pygments python3-pygments
) Adicione-o como uma função para bash .funções e dê um nome como color ()fonte
A partir desta resposta aqui , você pode usar os
python-pygments
pacotes para destacar coisas. Primeiro faça:então:
então tente:
Você também pode defini-lo como um alias, como na resposta que eu vinculei - basicamente, execute o seguinte:
Feche o terminal, abra-o novamente e o
catc
comando agora deverá funcionar - se não funcionar, verifique se essas linhas estão no.bashrc
arquivo e não são comentadas:Outra coisa seria apenas usar
nano
:fonte
man view
ouman vim
Uso básico:
view <filename>
Sair:
:q<Return>
(adicione um<Esc>
primeiro se estiver usandovim
) ouZZ
(z maiúsculo duas vezes).O editor de texto do programador já
vim
tem tudo o que você precisa e provavelmente já faz parte do seu sistema.vim
tem um modo somente leitura ativado comview
ouvim -R
. Se tudo o que você deseja fazer é exibir o arquivo marcado, deve ser o suficiente.Simples de usar, navegável, disponível em qualquer lugar. Não há necessidade de mexer com a instalação de novo software ou a escrita de scripts bash.
fonte
vim
ouview
apenas fornecer o arquivo:view file.py
então não há diferençacat
. Claro que você precisa fechá-lo, mas realmente,:q<Return>
ouZZ
não são tarefas difíceis.Pode-se verificar ccat .
Ele adiciona destaque de sintaxe aos arquivos de saída.
fonte
cat
não pode produzir sintaxe destacando apenas. Ainda assim, você pode fazer isso da seguinte maneira, usandopython-pygments
. Primeiro instale-o no terminal como,Agora copie a função abaixo
~/.bashrc
. Isso lhe dará o que você deseja, além disso, preservará as propriedades,cat
caso contrário não há sentido em usarcat
Fonte
~/.bashrc
como,Dá saída colorida,
Concatenará com a cor também,
fonte
pygmentize?
Estou abrindo-o usando um comando do formulárioxterm -e "pygmentize -g <filename>"
e estou descobrindo que a única maneira de rolar é usar a barra de rolagem. Tentei canalizar a saída,less
mas isso resultou em saída de lixo.pygmentize
com menos. Crie uma função bash dalessc
seguinte maneira:lessc () { pygmentize -gf terminal "$1" | less -R }
Bat - Um clone de gato com asas
Você também pode verificar
bat
quais possuem os seguintes recursos:less
cat
quando redirecionadoPré-visualização
Foto tirada do GitHub oficial
Instalação
Você pode obter o último pacote Debian aqui e instalá-lo com:
Adaptando o número da versão e a arquitetura.
fonte
Outras respostas abrangem por que
cat
não é possível fazer isso. Embora você possa fazer isso com menos usando lesspipe.sh .fonte
Em vez de instalar um pacote de terceiros, você pode simplesmente usar
gedit
para exibir rapidamente um arquivo com destaque de sintaxe. Por exemplo, copie a barra de endereço acima e cole no seu terminal:Você verá esta pergunta em HTML com cores formatadas:
gedit
teclas de navegação conhecidascat
que não exige que as teclas sejam fechadas.fonte