リクエストログをさまざまなファイルに保存するスクリプトを作成しました。時間が経つにつれて、フォルダに含まれるファイルの数は増えているようです。これで、特定の期間の一部のログにアクセスする必要がありますが、そうすることはできません。
ログファイル名の形式は次のとおりです。 2016-02-11_124805_4269_170784456256bc8305a7e8b1455194885_req.xml
これまで私は試しました
ls
tar -cvzf 2016-02-20.tar.gz 2016-02-20*.xml
圧縮ファイルcat 2016-02-20_01* | grep -nr "text_to_search"
ls -lah >> ../list.log
find ./dirname -type f >> list2.log
そして検索スクリプト
for each_file in ./dirname/* do echo ls -lah $each_file >> ./dirname_file.log done
そしてtar
戻ってくると、cat
他のarguments list too long
人はまだ私に答えていません。
助けてくれてありがとう。
ベストアンサー1
find ./dirname -type f -name "2016-02-20_01*"
うまくいくかもしれませんが、それでも高速ではありません。
これでこれを行うことができます。
find ./dirname -type f -name "2016-02-20_01*" -print | xargs grep -n "text_to_search"