Le caractère ASCII du séparateur d'unités (ASCII 31, octal 37) est visible dans Vim sous la forme d'un ^_
. Mais si j'imprime le même fichier sur le terminal, le caractère est invisible. Cela provoque le blocage des champs d'une ligne:
# 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
Je suppose que je peux rendre le séparateur d'unités visible avec cat -v:
cat -v delim.txt
first field^_second field^_last field
Mais c'est assez lourd. Pourquoi le séparateur d'unités n'a-t-il pas une représentation visible lorsqu'il est imprimé sur stdout dans le shell Bash? Je ne peux même pas copier et coller correctement la sortie du shell; le séparateur d'unités se perd dans le processus.