ファイルに文字列を検索入手分間隔と私は、次の有人最後のX分は、ログインして、私は私のログファイルに最後のX分のログを取得し、検索しようとして
sed -n "/^$(date --date='10 minutes ago' '+%Y-%m-%d %H:%M')/,\$p" filename| grep m1 'ErrorCode="javax.naming.NameNotFoundException"'
マイログに結果をachiveして取得することができる午前固定文字列は
2017-04-19 10:01:35,047 529025829 ERROR [server.YCPSchedulableTrigger]
(Timer-0:) Exception sending message...
2017-04-19 10:01:35,048 529025830 ERROR [server.YCPSchedulableTrigger]
(Timer-0:) [1492596095048]Error_description_not_available 2017-04-19 10:01:35,049 529025831 ERRORDTL [server.YCPSchedulableTrigger] (Timer-0:)
[1492596095048]<?xml version="1.0" encoding="UTF-8"?> <Errors>
<Error ErrorCode="javax.naming.NameNotFoundException"
ErrorDescription="Error_description_not_available" ErrorRelatedMoreInfo="">
私の問題のように見えるでその文字列とduratio Nはbashスクリプトにパラメータとして渡されると、私は
sed -n "/^$(date --date='$logTracebackInterval minutes ago' '+%Y-%m-%d %H:%M')/,\$p" $file| grep -m1 "'$searchString'"
を実行したときに、私は、私は本当に$logTracebackInterval
は、単一引用符で囲まれているので、理解し、解決していないエラー
invalid date `$logTracebackInterval minutes ago'
を取得
私も試しました
sed -n `/^date --date='$logTracebackInterval minutes ago' '+%Y-%m-%d %H:%M'/`,\$p $file| grep -m1 "'$searchString'"
これは私に何かエラーを与えませんだけでなく、どんな結果に私に
を与えるものではありませんすべてのヘルプは本当に
ではありませんが、 'datestart = $(date --date =" $ logTracebackInterval minutes "'+%Y-%m-%d%H%M')'とそれに続く '' sed ''という2つの行で複雑な引用を避けることができます。 –
@MarkPlotnik、私はそれが変数を解決することに問題があると理解していますが、それは一番良いと思われる1行で行うことが可能です –