数え切れないファイルがあるディレクトリ内のファイルを検索するには?

数え切れないファイルがあるディレクトリ内のファイルを検索するには?

リクエストログをさまざまなファイルに保存するスクリプトを作成しました。時間が経つにつれて、フォルダに含まれるファイルの数は増えているようです。これで、特定の期間の一部のログにアクセスする必要がありますが、そうすることはできません。

ログファイル名の形式は次のとおりです。 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"

おすすめ記事