我正在尝试编写一个脚本来读取具有多个值的文件,类似于下面的日志提取
1=232=343=5610=66=?????? 1=332=343=2010=46=????????? 1=392=343=3610=36=????????? 1=132=343=9610=16=??????
其中值 6=??????或者 ???????? (可以是任何 7/8 字节整数或 7/8 字符)。
我想读取/检查日志并打印带有“6”=的任何字段
然后检查该值的长度,是否大于8个整数/字节
然后将具有该值的行写入新文件”
答案1
对于以 开头且6=
后跟不超过 7 位十进制数字的行(将匹配6=
,6=123
或 ,6=123X45678
但不匹配6=12345678
):
grep -E '^6=[0-9]{0,7}([^0-9]|$)' < in > out
对于以以下字符开头6=
且后跟不超过 7 个字符的行:
grep -xE '6=.{0,7}' < in > out
对于以 开头且6=
后跟不超过 7 个字节的行:
LC_ALL=C grep -xE '6=.{0,7}' < in > out