短いbashスクリプトで助けが必要です。私は約150,000(!)のXMLファイルを含むフォルダを持っています。私は、指定された行を含むすべてのファイルを抽出するスクリプトが必要です。スクリプトは非常に頻繁に使用する必要があるため、できるだけ早くスクリプトを実行する必要があります。bashスクリプトは、特別な行を含むサブフォルダ内のファイルを取得します。
私の最初のアプローチは、grepのを使用して、以下の通りであった:
for f in temp/*
do
if grep "^.*the line which should be equal.*$" "$f"
then
echo "use this file"
else
echo "this file does not contain the line"
fi
done
このアプローチは動作しますが、それは時間がかかりすぎます。誰かがより速いアプローチを知っていますか?別のスクリプト言語がより良い選択肢であれば、それもOKです。
敬具、 マイケル
実行しないように「コマンドあたりのファイル」のすべての可能な場合は、 1つのコマンドで多数のファイルを処理するよりも必然的に遅くなります。 –