89 votes

Comment saisir un caractère de tabulation littéral dans un Shell de bash ?

Par exemple, je voulais utiliser l'utilitaire de tri avec l'option -t pour spécifier des séparateurs de tabulation, mais

sort -t "\t"

ne fonctionne pas.

109voto

Thad Points 725

N'utilisez pas de guillemets.

sort -t $'\t'

Ou je pense que Ctrl V insère une tabulation ? ??

Editar:

http://www.gnu.org/s/bash/manual/html_node/ANSI_002dC-Quoting.html#ANSI_002dC-Quoting

72voto

JiveAssAdmin Points 139

Essayez Control - v entonces Tab . Si vous voyez le curseur se déplacer vers la droite, cela a fonctionné.

Selon le commentaire de Mark vous pouvez aussi essayer Control - v et ensuite Control - i .

0voto

James Yang Points 1

Vous pouvez également utiliser printf :

sort -t "$(printf "\t")"

Pas comme $'\t' , printf utiliser guillemets doubles qui vous permettent d'utiliser variables d'environnement comme ci-dessous :

char="\t" # any source just plain text

sort -t "$(printf "$char")"

Le devis unique est statique et non flexible, bien qu'il soit simple, vous pouvez choisir en fonction de vos besoins.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X