我需要查找一组文件中存在多少次不同的字符串 *.dbm。 IE。我在同一文件名 test1.dbm test2.dbm 中有这两个不同的字符串,因此在 file1_10172017.txt 中存在 test1.dbm,在不同的 file1_10162017.txt 中存在字符串 test2.dbm,
我需要找出一组同名文件中存在多少次不同的 (*.dbm) 出现次数(它们的时间戳不同)
答案1
fx273014_w_new_qul_[timestamp].txt
您可以在所有所在的整个目录中递归地执行此操作
grep -ohr "\w*\.dbm" /path/to/dir | sort -u
从man grep
-h, --no-filename
Suppress the prefixing of file names on output. This is the default
when there is only one file (or only standard input) to search.
-o, --only-matching
Print only the matched (non-empty) parts of a matching line,
with each such part on a separate output line.
-R, -r, --recursive
Recursively search subdirectories listed.
如果你想计算每个不同的出现次数,只需wc -l
在命令末尾添加一个
grep -ohr "\w*\.dbm" /path/to/dir | sort -u | wc -l
或者对你想要的文件执行此操作,而不用递归执行
grep -oh "\w*\.dbm" /path/to/fx273014_w_new_qul_* | sort -u | wc -l
答案2
如果我第二次理解正确,这将向您显示所有独特的事件
grep .dbm file1* | sort -u
如果您只想知道有多少不同,请再次使用管道:
grep .dbm file1* | sort -u | wc -l