我有很多文件,我正在尝试梳理并找出仅包含 7 位数字的条目。
这是我试图提取的一个示例。
CDR Calling Number: +15555555555
CDR Called Number: 5557600
这是我必须拉出的当前命令,但该命令还拉出我不想要的其他条目。
cat file* |grep -v "CDR Called Number: +1" |grep -B 1 "CDR Called Number"
以下是我尝试过但没有成功的一些条目
grep '^.......' file*
grep -E '^.{7}$' file*
sed -rn '/^.{7}$/p' file*
答案1
你要
grep -E '\D\d{7}$'
- 一个非数字,后跟 7 个数字和行尾。
这也可以工作
awk 'length($NF) == 7 && $NF !~ /[^0-9]/'
- 最后一个字段的长度为 7 个字符,并且不包含非数字。
您的示例中存在一些错误:
grep '^.......'
-- 线开始与 7 个任何字符grep -E '^.{7}$'
-- 该行正好有 7 个字符长。