我有需要剪切的日誌文件,每行輸出DD-MM-YYYY HH:MM:SS。理想情況下,我想這樣的文件的最後10分鐘。如何在sed中包含perl命令?
我有一個Perl命令來獲取時間的10分鐘前:
perl -e 'use POSIX qw(strftime); print strftime "%e-%m-%Y %H:%M:%S",\ localtime(time()- 600);'
輸出示例:29-02-2012 16點38分14秒
和SED命令切斷該文件。這適用於手動日期和系統時間現在作爲第二個變量。我無法使用日期的更高級功能,因爲我正在使用Solaris 8以及c shell。
sed '1,/29-02-2012 16:07/d;/=$(date +%d-%m-%y %H:%M:%S")/,$d' debug.log | tee cut-log | less
讚賞任何幫助...
你有沒有gnu sed? – Kent 2012-02-29 16:55:24
您可以使用TZ var操作Solaris 8日期(目前無法訪問那些東西),在comp.unix.shell中進行谷歌組搜索會帶來這種情況。看看你的系統是否安裝了GNU工具,通常在/ usr/local/bin中,這會讓事情變得更簡單。另外,雖然不是一個好的shell,但是你在做什麼,在csh中不應該是可能的。所有這一切說,我認爲下面的kev是正確的。祝你好運。 – shellter 2012-02-29 17:24:09