FreeBSDで誰の日付形式を変更する

FreeBSDで誰の日付形式を変更する

Linuxaeの出力とは異なり、2022-11-07 16:23FreeBSDwhoコマンドは出力されますNov 7 16:23who出力の日付形式を全体的にまたはコマンド期間中にのみ変更するにはどうすればよいですか?

whoFreeBSD 13.1-p3のPOSIXロケールの出力例(日付形式はロケールによって変更されます):

me               pts/1        Nov  7 13:06 (192.168.1.107 via mosh [1964])
me               pts/2        Nov  7 13:07 (tmux(1988).%0)
me               pts/3        Nov  7 13:07 (tmux(1988).%1)
me               pts/4        Nov  7 13:07 (tmux(1988).%2)
me               pts/5        Nov  7 13:08 (tmux(1988).%3)
me               pts/7        Nov  8 07:09 (192.168.1.103 via mosh [2059])
me               pts/8        Nov  7 13:08 (tmux(1988).%4)

日付形式はロケールによって異なりますが、出力の日付文字列は使用して作成されましたstrftime()%e %b %Rあるいは、%b %e %Rフォーマット文字列として使用すると、「ただ別のロケールを使用」することは不可能になります。

答え1

そうですね。 "who"の日付文字列出力は、ソースコードの対応する形式文字列にハードコードされており、ロケールの変更により変更されません。

これを調整する唯一の方法は、ソースコードを変更し、選択した形式を使用して「誰」を再構築することです(または一部のラッパースクリプトを使用して誰が中心に再構築しますが、汚れている可能性があります)。

関連情報