私のユーザーは時々タイムスタンプを持っていますが、ホスト名を持たない警告(他のシステムからの電子メールを介して)を受け取ります。次のように設計された私のシステムのタイムスタンプを比較できる機能を彼らに提供したいと思います。
/home/admin/assets/sagLogs/
このディレクトリには、各ホストに名前が付けられた705のディレクトリが含まれています。だから彼らは次のようになります:
bes-t1sg0120, art-t1sg8479, mmo-t1sg0132, ..., ...
各ディレクトリには、作成時に名前付きログファイルが含まれています。
06-10-19-13-57-46 05-29-19-08-25-50 05-24-19-16-52-02 05-22-19-16-42-52 05-22-19-10-33-06
月-日-年-時-分-秒の名前を指定します。ホスト名に関係なく、入力時間の5分以内にタイムスタンプがあるすべてのログを検索したいと思います。
次の形式を処理しました。
#Times[0] = DAY
#Times[1] = MONTH
#Times[2] = YEAR
#Times[3] = HOUR
#Times[4] = MINUTE
IFS=':' read -r -a Times <<< $1
stamp="${Times[1]}-${Times[0]}-${Times[2]}-${Times[3]}-${Times[4]}"
したがって、入力はDay:Month:Year:Hour:Minute
;つまり、$1が06:05:19:12:30
(2019年5月6日午後12時30分)であれば$stamp = 05-06-19-12-30
。
05-06-19-12-25
だから私は:間のすべてを探したいと思います。それはこのディレクトリの1つに 05-06-19-12-30
あります。~/assets/sagLogs/*
スタンプを撮ってから5分で効率的にファイルをキャプチャする方法は?最後の部分をawk'ingしながら各ファイル名を配列にロードしようとしましたが、これは完全に間違っており、遅くなりました。何を考えているのか教えてください。絶対ファイルパスを取得する方法を教えてください、ボーナスポイントを得ることができます!