epubファイルを繰り返しgrepします。

epubファイルを繰り返しgrepします。

私は答えを試しましたここしかし、幸運はありません。

find . -name "*.epub" -exec zipgrep pattern {} \;

「一致」と表示されますが、一致するepubファイルを返しません。また、クエリが困難な大量のデータを返します。

grep -aまったく役に立ちません。

私はgrep -R似たようなものが欲しいが、epubファイルが欲しい。

ベストアンサー1

これにより、すべての* .epubファイルのフルパスが提供されます。

find / -name *.epub -exec ls {} \; 2>/dev/null

その出力をリストに保存するには:

find / -name *.epub -exec ls {} \; 2>/dev/null >> /tmp/list

そのリストから文字列を取得するには、forループを使用します。大量のデータを取得すると、1つの長い行として処理できます。これにより、パターンの後に5文字が印刷されます。

for i in `cat /tmp/list` ; do echo $i ; grep -a -o -p '.{0,5}pattern.{0,5}' ; done

おすすめ記事