我最近打開了我的bash歷史記錄中的時間戳記。我正在使用三個選項來讓我的歷史更多。在awk腳本中替換換行符,用於打印歷史打印(帶時間戳)
HISTTIMEFORMAT="[%F %T %Z] "; shopt -s histappend; PROMPT_COMMAND='history -a'
我拼湊起來的bash腳本,而不是我想回顧一下歷史,而不必腦解析信號出現時間每次設定HISTSIZE到一個大的離譜號碼。
awk '/^#[0-9]+$/{ match($0,/[0-9]+/);
t = strftime("[%F %T %Z] ",substr($0,RSTART,RLENGTH));
sub(/#[0-9]+/,t) } 1' ~/.bash_history | less
這是醜陋的,但它的作品。我想這也可以簡化,但這僅僅是我發佈這個的原因的次要。我想要做的是在每個命令前加上對應的時間戳。我想這可以在sub(/#[0-9]+/,t)
完成,但是當我嘗試匹配\n
時,它什麼都不做。我必須做什麼才能讓它識別換行符?
任何指針將不勝感激。
我一不明白你想用'\ N'做什麼。向我們展示一些示例輸入和預期輸出。 –