linux - picard - puddletag
Formateo de listas con el comando de columna en*nix (2)
Estoy tratando de formatear una lista de entradas en bash, y estoy usando el comando de column . Sin embargo, la opción -t utiliza de manera predeterminada cualquier espacio en blanco como delimitador, lo que no funciona para los datos que tengo (contiene espacios y pestañas). No puedo entender cómo obtener el -s para especificar un carácter de nueva línea como el único delimitador de columna.
En teoría, para especificar una nueva línea, puede usar la notación $''...'' , que es como ''...'' excepto que admite secuencias de escape estilo C:
column -t -s $''/n'' list-of-entries.txt
Sin embargo, realmente no entiendo el propósito de esto. Una línea nueva es el delimitador de fila, por lo que un delimitador de columna de $''/n'' es equivalente a no tener ningún delimitador de columna:
column -t -s '''' list-of-entries.txt
lo que significa que la entrada se tratará como teniendo solo una columna; por lo que es equivalente a no usar la column en absoluto:
cat list-of-entries.txt
Parece que en realidad no desea utilizar el -t , porque el objetivo del -t es garantizar que cada línea de entrada se convierta en una línea de salida, y no suena como eso es lo que desea. Supongo que quieres esto:
column list-of-entries.txt
que tratará cada línea de list-of-entries.txt como un valor que se colocará en una celda de la tabla que muestra la column .
Esto funciona para imprimir una bonita versión impresa de un archivo delimitado por tabuladores
column -t -s $''/t'' list-of-entries.txt