多くのファイルを含むフォルダ内の文字列を見つけようとしています。私のスクリプトのコマンドは次のとおりです。
find /dir1/ERP-PFD -type f -print0 | xargs -0 grep -il $FINALFINDCMD | grep "ERP-PFD"
dir1(名前変更)には多くのファイルが含まれているため、コマンドが少し遅くなります。この問題を解決するために、指定された時間間隔内にファイルのみを収集したいと思います。フォルダERP-PFD
内のファイルはdir1
日付ごとに構成されています。ファイル名はERP-PFD.2018-05-12
ERP-PFD.2018-05-13
次の形式を取ります。 grepしたい文字列の日付を知っているので、パスに正規表現を追加してルックアッププロセスを最小化したいと思います/dir1/ERP-PFD
。このように、/dir1/ERP-PFD.2018.05.*
4月の文字列のみを検索します。
パスに式を追加する方法を教えてください。
ノート:-ERP-PFD
ファイルは、特定の日付のフォルダにも保存されます。たとえば、ERP-PFDの日付が2018-05-12の場合、フォルダに配置されますdir2.2018-05-12
。したがって、正規表現のパスは次のようになります。/dir1/dir2.2018-05-*/ERP-PFD.2018-05-*