A veces, obtengo como una lista separada por pestañas de entrada, que no está completamente alineada, por ejemplo
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
¿Hay una manera fácil de alinearlos?
var1 var2 var3
var_with_long_name_which_ruins_alignment var2 var3
command-line
text-processing
csv
tabulation
Elazar Leibovich
fuente
fuente
column -t
?columns -t
actúa en espacios en blanco en general. Para trabajar con pestañas única , el usocolumn -t -s $'\t'
Respuestas:
Entonces, la respuesta se convierte en:
Tenga en cuenta que esto divide las columnas en cualquier espacio en blanco, no solo las pestañas. Si desea dividir solo en pestañas, use:
Los
-s $'\t'
conjuntos de la delimitador para pestañas solamente y-n
conservas vacías columnas (pestañas adyacentes).PD: Solo quiero señalar que el crédito va para Alex también. La sugerencia original fue proporcionada por él como un comentario a la pregunta, pero nunca fue publicada como respuesta.
fuente
column
:)column
parece fallar cuando encuentra celdas vacías. Ver este post . Según la versióncolumn
que tenga, puede especificar la-n
opción para corregir esto.column -t -s $'\t'
.Aquí hay un script para hacerlo:
aligntabs.pl
uso
fuente
pr
ynl
son las dos herramientas básicas para el formato, y después de esoawk
,sed
,perl
, etc.column
column -t -s $'\t'
Parece hacer el trabajo.Para tabulaciones manuales:
expand -t 42,48
Para tabulaciones automáticas, como lo sugiere alex :
column -t
(se
expand
encuentra en todos los sistemas POSIX.column
es una utilidad BSD, disponible también en muchas distribuciones de Linux).fuente
Siguiendo el comentario de Peter.O, que es lo que quería alinear (datos delimitados por tabulaciones, TSV), esta frase funciona muy bien:
fuente
Explicación:
Sed agregará un espacio entre delimitadores en blanco
La columna agregará un espacio igual entre las columnas
se convierte
Less abrirá la salida en un visor de archivos. -N y -S agregarán el número de línea y deshabilitarán el ajuste respectivamente
fuente
Con Miller ( http://johnkerl.org/miller/doc ) tiene una salida de impresión bonita.
correr
tener
fuente