Показывать специальные символы в Unix при использовании команды "меньше"
Я хотел бы знать, как просматривать специальные символы при использовании команды "меньше". Например, я хочу видеть непечатаемые символы со специальной нотацией. Например, в редакторе "vi" я использую "set list on", чтобы увидеть символы завершения строки, представленные символом доллара "$". Аналогично, я хотел бы сделать это, используя команду "меньше".
Я назвал Unix менее ручным, но безрезультатно.
Ответы
Ответ 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
если хотите.