巨大なログファイルのエントリを見つけるために毎日実行する grep コマンドがあります。
このコマンドは、開発環境で正常に機能します。しかし、本番環境では、ログファイルのエントリとは異なる応答が出力されます。
コマンドは次のとおりです。
logentry=$(grep -m1 -oP '.*(?<=Reset\s).*' $log)
ログ ファイルの実際のエントリ:
******Reset Counter:[Total:1849766] [Success:1849766] [Insert:102] [Update:1848861] [Delete:803] [Key:0]
コマンド出力:
******Reset Counter:[Total:1849766] 1 [Insert:102] [Update:1848861] [Delete:803] [Key:0]
期待される出力:
******Reset Counter:[Total:1849766] [Success:1849766] [Insert:102] [Update:1848861] [Delete:803] [Key:0]
grep コマンドの一貫性のない動作の背後にある理由は何でしょうか?