我有一个目录PAYMENT
。在里面我有一些文本文件。
xyx.txt
agfh.txt
hjul.txt
我需要浏览所有这些文件并找出每个文件中有多少条目包含诸如BPR
.
如果它是一个我需要得到一个警报。例如,如果xyx.txt
只包含一个BPR
条目,我需要得到一个警报。
你不需要循环,这样的事情应该使它:
grep -l "BPR" /your/path/PAYMENT/*
grep
是一种在文件中查找与模式匹配的行的工具。-l
显示哪些文件具有该字符串。"BPR"
是您要查找的字符串。/your/path/PAYMENT/*
意味着它将grep
贯穿该目录中的所有文件。如果您想在特定类型的文件/目录中查找,请这样说,因为命令会有所不同。
根据您的新要求:
我需要浏览所有这些文件,找出每个文件中有多少条目,如 BPR。
如果它是一个我需要得到一个警报。例如,如果 xyx.txt 只包含一个 BPR 条目,我需要得到一个警报。
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 计算大量文件中所有出现的字符串