¿Cómo se ls -l
puede modificar la salida de para separar campos usando pestañas en lugar de espacios? Quiero pegar el resultado en una hoja de cálculo; El relleno con un número variable de espacios hace que sea difícil hacerlo. Para ilustrar:
drwxr-xr-x 2 root root 4096 26 de septiembre 11:43 wpa_supplicant -rw-r ----- 1 marcación raíz 66 26 de septiembre 11:43 wvdial.conf drwxr-xr-x 9 root root 4096 8 de octubre 08:21 X11 drwxr-xr-x 12 root root 4096 18 de febrero 23:31 xdg drwxr-xr-x 2 root root 4096 31 de enero 06:11 xml drwxr-xr-x 2 root root 4096 22 de noviembre 07:26 xul-ext -rw-r - r-- 1 raíz raíz 349 13 de enero de 2012 zsh_command_not_found
En el extracto que se ls -l /etc
muestra arriba, las filas 1, 2 y 3 tienen un solo dígito en la columna 2, mientras que la fila 4 tiene dos. Eso significa que la alineación se logra mediante el uso de dos espacios para separar las columnas 1 y 2 en las filas 1-3, pero solo un espacio en la fila 4.
ls
dice , analizar su salida está bien. Ese rara vez es el objetivo. Podría decirse que está aquí. ¡Creo que el método que ha utilizado es bastante bueno (cualquier método producirá resultados no deseados dado un conjunto de necesidades)! Sin embargo, podría decirse que el análisisls
podría ser mejor. Considere el caso de un nombre de archivo que realmente tiene un carácter de tabulación.ls -l
reemplaza la pestaña con un?
personaje. Su script conserva el carácter de tabulación, que creará columnas adicionales si su salida se interpreta como delimitada por tabuladores y se utiliza para crear una hoja de cálculo. Se degrada mal si un nombre de archivo tiene una nueva línea.