Estoy tratando de formatear una lista de entradas en bash, y estoy usando el comando column
. Sin embargo, la opción -t
se predetermina a usar cualquier espacio en blanco como un delimitador, que no funciona para los datos que tengo (contiene espacios y pestañas). No puedo entender cómo obtener el indicador -s
para especificar un carácter de nueva línea como el único delimitador de columna.Formateo de listas con el comando de columna en * nix
Respuesta
En teoría, para especificar un salto de línea, puede utilizar la notación $'...'
, que es como '...'
excepto que apoya al estilo de escape de C-secuencias:
column -t -s $'\n' list-of-entries.txt
Sin embargo, realmente no entiendo El propósito de esto. Una nueva línea es el delimitador de filas, por lo que una columna de delimitador de $'\n'
es equivalente a no tener cualquier columna-delimitador en absoluto:
column -t -s '' list-of-entries.txt
lo que significa que la entrada será tratado como que tiene sólo una columna; por lo que es equivalente a no usar column
en absoluto:
cat list-of-entries.txt
Parece que en realidad se no lo hace quieren usar la bandera -t
, porque el propósito de la bandera -t
es asegurar que cada línea de entrada se convierte una línea de salida, y no suena como eso es lo que quieres. Supongo que quieres esto:
column list-of-entries.txt
que tratará cada línea de list-of-entries.txt
como un valor para ser puesto en una celda de la tabla que column
salidas.
¡Gran explicación con una comprensión completa del problema real que encontró el interlocutor! – YaOzI
¡Lo golpeaste justo en la cabeza! ¡Gracias por la grandiosa explicación! –
Esto funciona para emitir una versión de la impresión bonita de una pestaña archivo delimitado
column -t -s $'\t' list-of-entries.txt
- 1. Equivalente al comando * Nix 'which' en Powershell?
- 2. Formateo de la salida detallada de un comando Remove-Elemento
- 3. Pseudo filesystems en * nix
- 4. Formateo personalizado de tramas LaTeX (beamer) en Vim usando el comando gq
- 5. formateo con scale_x_date en ggplot2
- 6. ¿Cuál es el comando * nix para ver el shell de inicio de sesión predeterminado de un usuario
- 7. Listas de listas de listas
- 8. Formateo de inicializadores de matriz con Eclipse
- 9. ¿puedes falsificar * nix uptime?
- 10. lista de listas de WPF eliminar columna extra generada
- 11. Formateo de un flotante con dos decimales
- 12. Formateo de números grandes con .NET
- 13. Formateo de fechas en el eje X en ggplot2
- 14. Reordenar listas como listas de reproducción en el reproductor multimedia
- 15. Formateo de la bonita copia de Ruby
- 16. comando Powershell para ocultar el usuario de las listas de direcciones de intercambio
- 17. Búsqueda de Python en listas de listas
- 18. formateo de documentos json
- 19. Mejor IDE de C++ para * nix
- 20. comparando listas de Scala con listas de Java
- 21. Formateo de cadena alfanumérica
- 22. Comando Emacs mini-buffer con el parámetro
- 23. Convertir cadena de Ruby a * nix cadena compatible con el nombre de archivo
- 24. Formateo de comentarios en el entorno algorítmico de LaTeX
- 25. Formateo de documentos de Excel en Qt
- 26. * nix configuration file storage convention?
- 27. Formateo de datos en GridView con AutoGenerateColumns true
- 28. Formateo de DateUtils.getRelativeDateTimeString
- 29. SQL Formateo herramienta
- 30. Combinaciones de listas CON repeticiones en Scala
puede publicar alguna entrada y salida de la muestra? –
Tenga en cuenta que 'column' está disponible en Linux (y en Mac OS X 10.7.4). No está necesariamente disponible en otras variantes de Unix; no está estandarizado por POSIX, por ejemplo. –
Si quiere 3 columnas de salida, 'pr -l 1 -t -3' se acercará mucho a lo que quería' column' para producir. Para N columnas, cambie el 3 a N; para especificar un ancho, agregue '-w 120' o lo que sea. –