正規表現パターンを含むディレクトリの下にあるすべてのファイルを再帰的に検索するにはどうすればよいですか? パターンは UTF-8 文字列です。
Python、Perl、または bash を使用した任意のソリューションが適切です。
grep -lr "pattern" /mydirectory/*
パターンが見つかった mydirectory のすべてのファイルを一覧表示します。
を使用する Python ソリューションos.walk
import os
import re
target_dir = '.'
pattern = re.compile(r'blah')
for parent, dirnames, filenames in os.walk(target_dir):
for fn in filenames:
filepath = os.path.join(parent, fn)
try:
with open(filepath) as f:
if any(pattern.search(line) for line in f):
print(filepath)
except IOError:
pass