Apacheのログファイルからエラーログを抽出して本日以外の行を削除しようとしています。
でも、どうすれば良いのか分からず前日でも消えればと思い試行錯誤していました。
[09/Apr/2017:05:43:41 +0900]
上記のようなログの日付部分だけで判断すれば良いと考え
LANG=C day=`date +'%d/%h/%Y' --date "1 days ago"` grep " 404 " access_log > error_log.txt sed -i -e "/$day/d" error_log.txt
上記のようにしました所、エラーをerror_log.txtに抜き出すのはできるのですが
最後の削除でエラーが出てしまいます。
デバッグしましたら
+ LANG=C ++ date +%d/%h/%Y --date '1 days ago' + day=09/Apr/2017 + grep ' 404 ' access_log + sed -i -e /09/Apr/2017/d error_log.txt sed: -e expression #1, char 5: unknown command: `A'
このように表示されます。
どのようにすれば考えていることを実現できますでしょうか。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/04/10 12:21
2017/04/10 12:24
退会済みユーザー
2017/04/10 12:32