Может ли меньше показать просмотренную пропорцию текстового файла?


18

Как видно из заголовка, когда я просматриваю текстовый файл, я хотел бы знать текущую просмотренную часть всего текстового файла.

Я знаю, что с опцией -N мы могли бы включить номера строк, но как сделать так, чтобы меньше отображалось номер строки всего текстового файла?

Благодарю.

Ответы:


19

Если вы откроете файл с меньшим, чем нажатие Ctrl-g отобразит текущий номер строки, общее количество строк и процент, а также показано ниже:

строки 51-100 / 185 байт 3228/5886 54% (нажмите RETURN)


1
спасибо. после повторного посещения справочной страницы, найдите ее и получите две другие равные команды ': f' и '='. извините за это.
Jichao

1
К сожалению, он не работает через каналы, ни с параметром -M или -m из другого ответа. Например wdiff version1.txt version2.txt | colordiff | less -RMне показывает процент. Дайте мне знать, если у кого-то есть решение или обходной путь для этого. Обновление: решение состоит в том, чтобы добавить + Gg, как объяснил другой ответ.
baptx

18

Вы имеете в виду, как с -Mвыключателем?


Это именно то, что я хочу!
Jichao

Или -mесли номер строки не нужен.
Франклин Ю

1
У вас есть идея, если есть решение или обходной путь для отображения процента при использовании труб? Например, я не могу увидеть процент для цветного различия с этой командой: wdiff version1.txt version2.txt | colordiff | less -RMОбновление: решение состоит в том, чтобы добавить + Gg как объясненный другой ответ.
Baptx

6

less -M +Gg

для не очень больших файлов это нормально, потому что +G( Gкоманда) идет до конца файла


1
Отлично, $MANPAGERхотя! См man man.
Том Хейл,

Отлично подходит для colordiffтоже! Например:wdiff version1.txt version2.txt | colordiff | less -RM +Gg
baptx

4

Просто немного попрошу о предыдущих ответах. Командная строка:

less -M +Gg

делает следующее:

-M Показать текущую позицию в файле в командной строке + Gg Выполнить команды G(перейти к концу файла) и g(вернуться к началу файла)

Если lessчитает из стандартного ввода, что происходит, когда manпоказывает страницу руководства, он не знает заранее общее количество строк в файле, чтобы он мог правильно рассчитать свою позицию. Поэтому +Ggнеобходимо, чтобы lessможно было получить общее количество строк и, таким образом, рассчитать текущую позицию в процентах.

Я нашел полезным установить эти переменные в ~ / .bashrc :

export LESS+='-M'
export MANPAGER='less +Gg'

LESSбудет гарантировать, что все вызовы lessбудут показывать текущую позицию в приглашении, и MANPAGERбудет гарантировать, что lessсможет получить общее количество строк в справочной странице, которое lessзатем отобразится в приглашении. Казалось бы, разумнее не включать +Ggв него, LESSчтобы не lessпытаться перейти к концу потенциально большого ввода по каналу. Если это необходимо, всегда можно запустить команды Gи gвручную.


+1 для ручного способа, нажмитеGg
wisbucky

Почему в вашем примере ставится знак плюс "LESS +"? Разве не достаточно просто написать "export LESS = 'M'"?
дб

@db, LESS + = '- M' добавит опцию -M к любым ранее установленным опциям для LESS
Пауло Марсель Коэльо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.