在此命令中:
cut -f2 -d$'\t'
('\t'
) 这是什么意思 ?我看到了另一个问题,我了解了“制表符”分隔符的想法,但仍然想知道'\t'
某些东西的快捷方式或符号或命令
答案1
水平制表符是默认情况下在输出时将光标带到下一个八个空格的倍数的字符。
例子:
$ printf '1234567*1234567*\na\thello\tthere\n'
1234567*1234567*
a hello there
正如您在上面看到的,对于每个制表符,光标都会转发到下一个八个空格的倍数。
制表符的编写方式与\t
C 编程语言相同。在 shell 中打印包含\t
with或在 C 中(以及许多其他地方)包含 with 的字符串会生成一个水平制表符来代替两个字符和。printf
printf()
\
t
在bash
shell中,$'...'
有一个特殊的“C转义字符串”。在其中,像\t
(制表符)或\n
(换行符)这样的转义序列的处理方式与printf()
C 语言中的一样。这在bash
手册中标题为“引用”的部分中进行了描述。
告诉cut -d $'\t'
您cut
在剪切输入数据的字段时使用制表符作为分隔符。然而,这恰好是默认如果您根本cut
不使用,则会使用分隔符,因此在您的命令中不需要。-d
-d $'\t'