Как я могу просмотреть сжатые файлы без необходимости набирать zless?

33

Я использую Ubuntu, и я хотел бы иметь возможность печатать less compressed_text_file.gzи печатать содержимое текстового файла в несжатом виде. Есть ли способ сделать это?

Райан К. Томпсон
источник

Ответы:

29

Вы можете настроить сочетания клавиш и установить множество параметров для lessв файле ~/.lesskey. Как только вы создали файл, запустите lesskeyкоманду ; он генерирует файл с именем, ~/.lessкоторый lessчитает при запуске.

Настройка, которую вы хотите LESSOPEN. Это входной форматтер за меньшие деньги. lessПакет поставляется с образцом форматировщиком в /bin/lesspipe; он распаковывает сжатые файлы, показывает списки содержимого для многих форматов многофайловых архивов и преобразует несколько форматированных форматированных текстов в обычный текст. В вашем ~/.lesskey:

#env
LESSOPEN=|/bin/lesspipe %s
Жиль "ТАК - перестань быть злым"
источник
40

Используйте zcat, затем направьте трубку less.

$ zcat $FILE | less
Alex
источник
2
Я бы предпочел, если бы lessпросто работал над сжатыми файлами.
Райан К. Томпсон
4
В отличие от принятого ответа, это чистое и однозначное решение. Благодарность!
Павел Власов
Это так просто, как это возможно, победа. Следует иметь в виду, что если вы открываете большой файл с меньшим количеством файлов, он сразу же открывается удобным для использования способом. При таком подходе он откроется, но вы не сможете сделать много (если вообще что-нибудь), пока сжатие не завершит его все через канал. Так что, если вы планируете открывать его повторно, лучше сначала распаковать его. В противном случае, сделайте это и проверьте свою электронную почту или что-то :)
Макс Уильямс
2

Я использую IBM, и при использовании zcatон жалуется, что не может найти файл, заканчивающийся на .Z.

В IBM можно использовать gzcat:

$ gzcat log_file.gz | less
Viet
источник
Что вы подразумеваете под «использованием IBM»? Вы имеете в виду AIX?
Дункан Х Симпсон
Использование gzcatтакже необходимо в Solaris 5
John