Cuando estoy dentro vim, puedo cambiar el tamaño de la pestaña con el siguiente comando:
:set ts=4
¿Es posible establecer el tamaño de la pestaña para la catsalida del comando también?
cat
indentation
Meysam
fuente
fuente

expand(desde el paquete coreutils) y eltabscomando (desde el paquete ncurses), (2). y el significado de ts es [ T ] ab [ S ] topSolo usa el siguiente código:
Donde n es el número de espacios que desea que las pestañas correspondan también. Con el fin de no tener que hacer esto cada vez que se inicia el shell, simplemente editar su
.bash_profileen~/y añadir la línea anterior al final del archivo.Para obtener más información sobre el comando de pestañas, consulte:
fuente
lsout puede parecer que no está alineado correctamente).No hay noción de pestañas o tabulaciones
cat; el programa simplemente canaliza las entradas a la salida y trata las pestañas como cualquier otro personaje. Si el dispositivo de salida es un terminal, las pestañas se manejarán de acuerdo con el comportamiento que el terminal esté configurado para proporcionar.Los sistemas que implementan POSIX.1 tienen un comando llamado
tabs(1)que ajustará el concepto del terminal de cómo se deben mostrar las pestañas. Dependiendo de un diseño de pestaña en particular, no se considera una buena idea, ya que alguien puede enviar su archivo a otro dispositivo como una impresora que no hará lo que usted pretendía.Cuando ajuste
tsenvim(o simplevi), todo lo que está haciendo es regular cómo el editor interpreta los caracteres de tabulación cuando se muestre. No tiene relación con lo que termina en el archivo.fuente
Basado en las respuestas y ejemplos anteriores, parece que el comando real que el OP quería es ...
cat somefile | expand -t4Esto funciona para mí en Red Hat 6.4.
fuente
Para ampliar las respuestas ya dadas,
expandtambién puede tomar una lista de posiciones de tabulación. Esto es útil si la longitud del contenido de las diversas columnas varía mucho.Encontré este requisito hoy cuando quería hacer que la salida fuera
openssl ciphersmás legible:Usar solo
expand -t31aumentaría el ancho de la salida de alrededor de 100 caracteres a más de 160 caracteres.fuente
column:openssl ciphers -v 'HIGH' | column -tMuchas terminales admiten la configuración de tabulaciones variables. Los que son vt100, linux y / o son compatibles con el estándar EMCA-48 sí, la mayoría de los términos en el tamaño de la pestaña de configuración de soporte de linux: xterm y family (uxterm, urxvt) xfce4-terminal, luit, Terminal, SecureTTY, entre otros.
Así que escribí una secuencia de comandos hace unos años para configurar mis pestañas al iniciar sesión en cada 2 espacios: solía usar 4, luego 3 por un momento, y ahora en 2 ...
Entonces, si 'gato' un archivo, las pestañas en el archivo se expandirán a la configuración de mi terminal.
Si pasé por vim o más, hacen su propia expansión de pestañas, pero muchas utilidades usan pestañas.
Incluirá el script aquí para referencia, y / o uso personal:
Espero eso ayude...
fuente
Según la página de manual, cat no puede hacerlo solo. Pero puede, por ejemplo, ejecutar la salida de cat a través del
trfiltro para reemplazar las pestañas con cualquier cantidad de espacios que desee:reemplazará el carácter de tabulación con dos espacios.
Actualización: como se señaló en los comentarios a esta publicación, esto en realidad no funciona. Sin embargo, mantengo la respuesta como un ejemplo de cómo no hacerlo.
fuente
'\t'con un solo espacio, sin importar cuántos espacios haya entre el segundo par de citas' 'trno funciona de esa manera ... cada byte de arg 1 se sustituye por cada byte correspondiente de arg 2 ..... Por lo tanto,printf '\t' |tr '\t' 'ळ'imprime un solo byte cuyo valor hexadecimal es\xE0... que es el primer byte de los tres UTF-8 bytes codificados que forman el carácterळ(cuyo valor Unicode CodePoint es U + 0933)