我需要 grep 所有以至少 4 个字母的相同子字符串开头和结尾的行。子串不能重叠。
想象一下我们有输入:
ABCDOOOPABCD
BBBBOLPOKBBBB
ACLMDJKAC
12345---12345
ABCD
Run Code Online (Sandbox Code Playgroud)
那么输出应该是:
ABCDOOOPABCD
BBBBBOLPOKBBBBB
12345---12345
Run Code Online (Sandbox Code Playgroud) UUID 由 5 组组成,由 '-' 分隔,由十六进制字符组成。我正在尝试创建一个正则表达式来查找所有 UUID,其中每个组中的字母按字母顺序排序。
输入:
9a578cf1-bc9f-49ad-8294-a61b736088c5
64efc3d9-448a-4902-a6c6-61849ac6c7ef
75b39f65-b614-427a-af62-922534bee490
Run Code Online (Sandbox Code Playgroud)
输出:
9a578cf1-bc9f-49ad-8294-a61b736088c5
Run Code Online (Sandbox Code Playgroud)
每组字母为:acf bcf ad abc,按字母顺序排列。
第二个 UUID 中每个组中的字母未按字母顺序排序:efc 和 accef
一个组也只能有一次相同的字母,因此第三个 UUID 中的“bee”也不会被视为按字母顺序排列。
我尝试使用以下 grep 命令:
grep -P "^[0-9]*a?[0-9]*b?[0-9]*c?[0-9]*d?[0-9]*e?[0-9]*f?[0-9]*(-[0-9]*a?[0-9]*b?[0-9]*c?[0-9]*d?[0-9]*e?[0-9]*f?[0-9]*){4}$" file.txt
Run Code Online (Sandbox Code Playgroud)
但这给了我一个回溯错误。