ディレクトリ内のすべてのファイルから文字列を検索する

ディレクトリ内のすべてのファイルから文字列を検索する

{{text}}すべてのファイルで見つけ、新しいファイルで赤を探したいです。試してみましたが、私には効果がありません

find . -type f -not -name "*.dll" -not -name "*.zip" -exec cat {} \; |
    grep "\{.*" | cut -d "{" -f1 | sort | uniq > keys.txt

ベストアンサー1

私はあなたがこれを探していると思います:

grep -FIrho '{{text}}' . >/tmp/keys.txt
mv -f /tmp/keys.txt .

.dllまたは、除外項目とファイルが本当に必要な場合は、.zip次のようになります。

find . \( -name '*.zip -o -name '*.dll' \) -prune -o -type f -exec grep -Fho '{{text}}' {} + >/tmp/keys.txt
mv -f /tmp/keys.txt .

これkeys.txtにはゼロ行以上が含まれます{{text}}。一致する内容の代わりにファイル名を記録してもよろしいですか?それともライン全体が{{text}}存在しますか?

おすすめ記事