为什么 `htop` 在 `sort` 命令中将 `$'\t'` 显示为 `?`?

为什么 `htop` 在 `sort` 命令中将 `$'\t'` 显示为 `?`?

我正在运行一个管道命令,其中一个部分如下:

sort -t $'\t'  -T . -k1,1g

当我监控时,htop我看到了这个:

在此输入图像描述

这背后的原因是什么?这是否意味着我的命令错误或者有问题htop

答案1

你的命令没有任何问题htop用问号替换控制字符:

(((unsigned char)data_c[j]) >= 32 ? ((unsigned char)data_c[j]) : '?')

(值小于 32 的字符是控制字符)。

答案2

htop 进程管理器显示$'\t'?排序命令,因为它将 解释\t为制表符,这不是有效的排序选项。

在排序命令中,\t用作分隔符来指定命令排序所依据的字段。但是,在 htop 中,它不是有效的分隔符,因此显示为 ?在排序列中。

您可以尝试使用-k选项指定排序字段,使用-t选项指定分隔符。例如,htop -u -p -k 2,2 -t ' '使用空格作为分隔符按第二个字段排序。

相关内容