私はカットする必要があるログファイルを持っています。これは、すべての行にDD-MM-YYYY HH:MM:SSを出力します。理想的には、このようなファイルの最後の10分を望みます。どのようにsedにperlコマンドを含めることができますか?
私は10分前の時間を取得するために、perlのコマンドを持っている:
perl -e 'use POSIX qw(strftime); print strftime "%e-%m-%Y %H:%M:%S",\ localtime(time()- 600);'
出力例:29-02-2012午後04時38分14秒
とファイルをカットするsedコマンド。これは手動の日付とシステム時刻が2番目の変数として機能します。私は思ったSolaris 8とCシェルを使用しているので、日付の高度な機能を使用することはできません。
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
あなたはTZ varを使ってSolaris 8の日付を操作することができます(今はそのようなものにアクセスできない)、comp.unix.shellのGoogleグループ検索がそれを表示します。あなたのシステムにGNUツールが/ usr/local/binにインストールされているかどうか確認してください。また、偉大なシェルではありませんが、cshでは不可能であるべきことについては何もありません。すべてのことが言った、私は以下のkevは正しい軌道にあると思う。がんばろう。 – shellter