El carácter ASCII del separador de unidad (ASCII 31, octal 37), es visible en Vim como a ^_
. Pero si imprimo el mismo archivo en la terminal, el personaje es invisible. Esto hace que los campos de una línea se atasquen:
# In Vim and less:
first field^_second field^_last field
# cat the same file to terminal:
cat delim.txt
first fieldsecond fieldlast field
# print 2nd field with awk
cat delim.txt | awk 'BEGIN {FS = "\037"} {print $2}'
second field
Supongo que puedo hacer que el separador de unidades sea visible con cat -v:
cat -v delim.txt
first field^_second field^_last field
Pero esto es bastante engorroso. ¿Por qué el separador de unidades no tiene una representación visible cuando se imprime en stdout en el shell Bash? Ni siquiera puedo copiar y pegar la salida del shell correctamente; el separador de unidad se pierde en el proceso.