Подтвердить что ты не робот

Показывать специальные символы в Unix при использовании команды "меньше"

Я хотел бы знать, как просматривать специальные символы при использовании команды "меньше". Например, я хочу видеть непечатаемые символы со специальной нотацией. Например, в редакторе "vi" я использую "set list on", чтобы увидеть символы завершения строки, представленные символом доллара "$". Аналогично, я хотел бы сделать это, используя команду "меньше".

Я назвал Unix менее ручным, но безрезультатно.

4b9b3361

Ответ 1

less будет выглядеть в своей среде, чтобы увидеть, есть ли переменная с именем LESS

Вы можете установить LESS в одном из файлов ~/.profile(.bash_rc и т.д. и т.д.), а затем в любое время, когда вы запустите less из строки comand, он найдет LESS.

Попробуйте добавить это

 export LESS="-CQaix4"

Это настройка, которую я использую, есть некоторые встроенные в нее поведения, которые могут вас смутить, поэтому...

Вы можете узнать о том, что все это означает из справочной функции в less, просто нажмите клавишу "h" и нос вокруг, или запустите меньше --help.

изменить

Я посмотрел на помощь и заметил, что есть опция -r

-r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                Output "raw" control characters.

Я согласен с тем, что кот может быть самым точным соответствием вашим заявленным потребностям.

 cat -vet file | less

Добавит '$' в конец каждой строки и преобразует вкладку char в visual '^ I'.

 cat --help
   (edited)
    -e                       equivalent to -vE
    -E, --show-ends          display $ at end of each line
    -t                       equivalent to -vT
    -T, --show-tabs          display TAB characters as ^I
    -v, --show-nonprinting   use ^ and M- notation, except for LFD and TAB

Надеюсь, это поможет.

Ответ 2

Вы можете сделать это с помощью cat, и этот канал будет меньше:

cat -e yourFile | less

Эта выдержка из man cat объясняет, что означает -e:

   -e     equivalent to -vE

   -E, --show-ends
          display $ at end of each line

   -v, --show-nonprinting
          use ^ and M- notation, except for LFD and TAB

Ответ 3

Для less используйте -u для отображения возвратов каретки (^M) и обратных пространств (^H) или -u, чтобы отобразить предыдущие и вкладки (^I), например:

$ awk 'BEGIN{print "foo\bbar\tbaz\r\n"}' | less -U 
foo^Hbar^Ibaz^M

(END)

Без переключателя -u выход будет:

fobar   baz

(END)

См. man less для более точного описания функций.

Ответ 4

Все специальные, непечатаемые символы отображаются с использованием обозначений ^ меньше. Тем не менее, линейный фид на самом деле можно печатать (просто введите новую строку), поэтому не считайте его особенным, поэтому у вас возникнут проблемы с его заменой. Если вы просто хотите увидеть окончания строки, самым простым способом может быть

sed -e 's/$/$/' | less

Ответ 5

В том же духе, что и fooobar.com/info/97132/...:

cat -A

-A, --show-all
       equivalent to -vET
-v, --show-nonprinting
       use ^ and M- notation, except for LFD and TAB
-E, --show-ends
       display $ at end of each line
-T, --show-tabs
       display TAB characters as ^I

В качестве альтернативы или в то же время вы можете направить tr для замены произвольных символов на нужные для отображения, прежде чем отправлять на пейджер, например, less если хотите.