ファイル名で2つのエポック時間の違いを見つける

ファイル名で2つのエポック時間の違いを見つける

名前には、2つのエポックタイムスタンプを含むSplunkバケット(ディレクトリ)が複数あります。 1488344400(2017年3月1日)と1497499200(2017年6月15日)の間に2番目のエポック時間を持つファイルを見つけるには、これらのファイル名の検索を実行する方法を見つける必要があります。ファイル名の形式は次のとおりです。

db_1274129994_1273525194_0 (db_latesttime_earliesttime_idnum)

最も遅い時間が日付を超える可能性があるため、「最も早い時間」が決定要因です。

ベストアンサー1

使用bash:

for d in db_*_*_*; do
    if [[ "$d" =~ db_([0-9]*)_([0-9]*) ]]; then
        if [[ "${BASH_REMATCH[2]}" -ge 1488344400 ]] &&
           [[ "${BASH_REMATCH[2]}" -le 1497499200 ]]; then
            printf 'Found "%s"\n' "$d"
        fi
    fi
done

db_*_*_*これは現在のディレクトリのすべての名前を繰り返します。名前が正規表現と一致すると、db_([0-9]*)_([0-9]*)名前の2つの数字のうち最後の数字に対して数値比較が実行されます。比較がtrueの場合、名前は標準出力に報告されます。

おすすめ記事