下面是我带输出的当前命令。问题是以2开头的行。我如何合并只匹配以4-9开头的行?
grep -o -P '(?:(?<!\d)\d{8}(?!\d))' * | sort -u
20100101
71160868
71161452
grep源是一封电子邮件,因此在这里发帖非常麻烦。
答案 0 :(得分:4)
您可以使用:
grep -oP '(?:(?<!\d)[4-9]\d{7}(?!\d))' * | sort -u
[4-9]
仅在第一个数字介于4和9之间,后跟任意7个数字时匹配。