Como posso visualizar arquivos compactados em gzip em menos sem precisar digitar zless?


33

Estou usando o Ubuntu e gostaria de poder digitar less compressed_text_file.gze paginar o conteúdo do arquivo de texto de forma descompactada. Existe uma maneira de fazer isso?

Respostas:


29

Você pode configurar as teclas e definir muitas configurações para lessem um arquivo chamado ~/.lesskey. Depois de criar o arquivo, execute o lesskeycomando ; ele gera um arquivo chamado ~/.lessque lesslê quando é iniciado.

A configuração que você deseja é LESSOPEN. É um formatador de entrada por menos. O lesspacote vem com um formatador de amostra /bin/lesspipe; descomprime arquivos compactados com gzip, mostra listagens de conteúdo para muitos formatos de arquivo com vários arquivos e converte vários formatos de textos formatados em texto sem formatação. No seu ~/.lesskey:

#env
LESSOPEN=|/bin/lesspipe %s

40

Use zcat, em seguida, canalize-o para less.

$ zcat $FILE | less

2
Eu preferiria se lessapenas trabalhasse em arquivos compactados.
Ryan C. Thompson

4
Ao contrário da resposta aceita, esta é uma solução limpa e unix-way. Obrigado!
Pavel Vlasov

Isso é o mais simples possível: vencer. Uma coisa a ter em mente é que, se você abrir um arquivo grande com menos, ele será aberto de maneira útil imediatamente. Com essa abordagem, ela será aberta, mas você não poderá fazer muito (se houver) até que a compactação termine de executá-la por todo o pipe. Portanto, se você planeja abri-lo repetidamente, é melhor descompactá-lo primeiro. Caso contrário, fazer isso e verificar seus e-mails ou algo :)
Max Williams

2

Estou usando a IBM e, ao usá- zcatlo, ele reclama que não consegue encontrar o arquivo que termina com .Z.

Na IBM, pode-se usar gzcat:

$ gzcat log_file.gz | less

O que você quer dizer com "usando a IBM"? Você quer dizer AIX?
Duncan X Simpson

O uso gzcattambém é necessário no Solaris 5
John
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.