Historyコマンドで表示される行番号が、lessとwc -lで表示される履歴ファイルの行番号と異なるのはなぜですか?

Historyコマンドで表示される行番号が、lessとwc -lで表示される履歴ファイルの行番号と異なるのはなぜですか?

less -N .bash_historyとの行番号は、wc -l .bash_historybash組み込みコマンドで示されている行番号よりも44行ですhistory。履歴リストの最後の20項目と履歴ファイルの最後の20項目をhistory比較すると、lessコマンドが同じであることが確認され、重複コマンドの原因を除いて履歴レコード間の行番号が表示される原因は何ですか? ?命令とトイレ以下?

私は最初に履歴コマンドが履歴ファイルのコマンド数を数えるだけであると仮定しましたが、他の結果less -Nwc -l提案はそうではありません。

ベストアンサー1

これは、bash_historyが各コマンドのEpochタイムスタンプを記録できるためです。

HISTTIMEFORMAT 環境変数は、bashrc ファイルで HISTTIMEFORMAT="[%F %T] ") に設定されます。 Bashは、ユーザーがBASH組み込み履歴を使用して履歴を確認したときにタイムスタンプを保存します。人間が読める形式(例:2019-07-24 15:40:19)で簡単な表示方法で表示されます。ただし、これらの履歴セッションがファイル(たとえば、/ / .bash_history)に保存されると、タイムスタンプはUnix時間(epoch秒以降)として表示されます。

-r または -w オプションと一緒に履歴を使用して .bash_history ファイルをインポートできます。

https://ss64.com/bash/history.html

これがあなたの質問に答えることを願っています。

おすすめ記事