2011-08-04 25 views
56

Me gustaría saber cómo ver caracteres especiales mientras uso el comando 'menos'. Por ejemplo, quiero ver los caracteres no imprimibles con una notación especial. Por ejemplo, en el editor 'vi' utilizo 'set list on' para ver los caracteres de terminación de línea representados por el carácter '$' de dólar. Del mismo modo, me gustaría hacer esto con el comando 'menos'.Mostrar caracteres especiales en Unix mientras se utiliza el comando 'menos'

Me referí a Unix menos manual, pero fue en vano.

Respuesta

56

menos se verá en su entorno para ver si hay una variable llamada MENOS

Puede establecer MENOS en una de su ~/.profile (.bash_rc, etc, etc.) y cada vez que ejecute less desde la línea de comando, encontrará el LESS.

Trate de añadir este

export LESS="-CQaix4" 

Esta es la configuración que uso, hay algunos comportamientos incrustados en que pueden confundir, así que ...

Usted puede averiguar acerca de lo que todo esto significa desde la función de ayuda en less, solo toque la tecla 'h' y la nariz, o ejecute menos --help.

edición

Miré la ayuda, y notamos que también es una opción -r

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

Estoy de acuerdo que el gato puede ser el partido más exacta a sus necesidades declaradas.

cat -vet file | less 

Agregará '$' al final de cada línea y convertirá la pestaña char a 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 

Espero que esto ayude.

+15

'cat' información útil. Las opciones LESS inexplicables son mucho menos útiles. Esta sería una mejor respuesta si los elimina, ya que no creo que sean relevantes para la pregunta. – ijw

45

Usted puede hacer eso con el gato y que canalizar la salida a menos:

cat -e yourFile | less 

Este extracto de man cat explica lo -e significa:

-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 
+9

... o 'cat -eT yourfile | less' si desea ver los caracteres de pestañas. –

+2

Tan preciso y para la pinta. Guardado mi día – Ali

+2

Tuve problemas con la T mayúscula, si alguien tiene el mismo problema, simplemente use '' cat -et yourfile | less'' y debería funcionar –

0

Todos los caracteres especiales, no imprimibles se muestran con^notación en menos. Sin embargo, el avance de línea es en realidad imprimible (solo crea una nueva línea), por lo que no se considera especial, por lo que tendrás problemas para reemplazarlo. Si lo que desea es ver los finales de línea, la forma más fácil podría ser

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

Para less uso -u para mostrar retornos de carro (^M) y retrocesos (^H), o -U para mostrar la anterior y las lengüetas (^I), por ejemplo:

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

(END) 

Sin el interruptor -U la salida sería :

fobar baz 

(END) 

Ver man less para más descripción exacta de las características.

Cuestiones relacionadas