ディレクトリがありPAYMENT
ます。その中にいくつかのテキストファイルがあります。
xyx.txt
agfh.txt
hjul.txt
これらすべてのファイルを調べて、各ファイルにBPR
.
それが 1 つである場合は、アラートを受け取る必要があります。たとえば、エントリがxyx.txt
1 つしかない場合は、アラートを受け取る必要があります。BPR
ループする必要はありません。次のようにする必要があります。
grep -l "BPR" /your/path/PAYMENT/*
grep
ファイル内のパターンに一致する行を見つけるツールです。-l
その文字列を持つファイルを示します。"BPR"
探している文字列です。/your/path/PAYMENT/*
grep
そのディレクトリ内のすべてのファイル全体に適用されることを意味します。特定の種類のファイル内/ディレクトリ内を検索したい場合は、コマンドが少し異なるため、そう言ってください。
新しいリクエストに基づいて:
これらのすべてのファイルを調べて、BPR のような各ファイルのエントリ数を見つける必要があります。
その場合は、アラートを受け取る必要があります。たとえば、xyx.txt に BPR エントリが 1 つしか含まれていない場合、アラートを受け取る必要があります。
grep -c
あなたの友達です(多かれ少なかれ)。だからあなたができることは次のとおりです。
if [ "$(grep -c a_certain_file)" -eq 1 ]; then
echo "mai dei mai dei"
fi
i need to go through all these files an find is there an entry like 'BPR'
次を含むファイル名を検索するコマンドを探している場合は、次をBPR
使用します。
echo /path/to/PAYMENT/*BPR*.txt
テキストを含むファイル名を検索するコマンドを探している場合は、次をBPR
使用します。
grep -l "BPR" /path/to/PAYMENT/*.txt
これを試してください:
grep -o BPR {path}/* | wc -l
ここで、{path} はすべてのファイルの場所です。文字列「BPR」の出現回数だけがわかります。
また、参考までに-これはここでも話されています:grepを使用して多くのファイルで文字列のすべての出現を数えます