На странице руководства сортировки -t используется для указания разделителя полей. Однако я не знаю, что означает форма -t$'\t' ?

2 ответа2

1

Bash ANSI-C цитирование. Если вы оберните строку как эта $'string' , она будет расширена с теми же правилами, что и строка C. В вашем случае $'t' становится просто 't' , но если бы это был $'\t' он стал бы символом табуляции. Это немного отличается от использования двойных кавычек, как в "string" потому что двойные кавычки допускают подстановку bash (например, расширение переменной)

0

'$' После опции -t используется для указания символа, который использует более 7 бит для своего представления. Например, для новой строки: «\n», для вкладки «\t». Если вы делаете это так:

sort -t '\t' 

Сортировка, вероятно, выведет вам сообщение об ошибке, говорящее о том, что вы используете слишком много символов, потому что она пытается буквально прочитать '\' и 't'.

Таким образом, в вашем примере обратный слеш опущен.

То же самое, например, с командой cut:

cut -d$'\t' 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .