我试图绘制各种 iostat 结果的结果。为此,我想使用https://clusterbuffer.wordpress.com/file-system-tools/iostat_plot/iostat-plotter-v3/。
无论如何 - 由于某些莫名其妙的原因,该脚本具有它期望硬编码的时间格式,并且它期望 12 小时 AM/PM 时间格式,我不认为这是任何 linux 语言环境设置的一部分。我正在寻找一种方法来告诉 iostat -t 以 AM/PM 格式输出,但我失败了。据说它使用了我不知道的环境变量 S_TIME_FORMAT 并且似乎是 iostat 特定的并且没有记录。系统/用户 LC_TIME 像往常一样设置为“C”。知道如何哄 iostat 使用 am/pm 格式吗?由于 iostat 是二进制文件,我无法修改它调用 strftime/localtime 的方式。提前致谢!
# locale
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
您要查找的语言环境是 en_US:
这里重要的语言环境变量是
LC_TIME
(但您必须更改LC_ALL
以防设置它,因为它会阻止其他LC_
变量的不同设置)。您必须将此变量设置en_US
为具有正确格式的时间。仅LANG
设置为en_US
无济于事。只需使用locale
命令来验证LC_TIME
设置是否正确。无
LC_ALL
设置输出:并与
LC_ALL
:简短的解决方案:
不能在注释中使用格式,所以在这里粘贴代码块:
系统甚至已经在 /etc/locale.conf 中定义了该语言环境。不幸的是,不是这样:
在 Ondřej 的帮助下,我想通了。
作品。