寻找模式

寻找模式

我需要查找一组文件中存在多少次不同的字符串 *.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

相关内容