這個排序指令是什麼意思?貓溫度.txt |排序 -t$'\t'

這個排序指令是什麼意思?貓溫度.txt |排序 -t$'\t'

在 sort 的手冊頁中,-t 用於指定欄位分隔符號。但我不知道這個-t$'\t'表格是什麼意思?

答案1

Bash ANSI-C 引用。如果你像這樣包裝一個字串$'string',它會按照與 C 字串相同的規則進行擴充。在你的情況下$'t'變成 just 't',但如果是的話$'\t'它將成為製表符。這與使用雙引號有點不同,因為"string"雙引號允許 bash 替換(例如,變數擴展)

答案2

-t 選項後面的「$」用於指定使用超過 7 位元進行表示的字元。例如,對於換行符號:“\n”,對於製表符“\t”。如果你這樣做:

sort -t '\t' 

Sort 可能會列印錯誤,指出您使用了太多字符,因為它嘗試逐字讀取“\”和“t”。

因此,在您的範例中,省略了反斜線。

例如,與 cut 指令相同:

cut -d$'\t' 

相關內容