使用grep获取仅12个字母的字母行

ell*_*san 2 unix linux grep

使用grep

testing.txt中有12个字母-仅字母行?

testing.txt的摘录

tyler1
Tanktop_Paedo
xyz2@geocities.com
milt@uole.com
justincrump
cranges10
namer@uole.com
soulfunkbrotha
timetolearnz
hotbooby@geocities.com
Fire_Crazy
helloworldad
dingbat@geocities.com
Run Code Online (Sandbox Code Playgroud)

从这个摘录中,我想得到2的结果。(helloworldad和timetolearnz)

我想检查每一行,仅grep每行中包含12个字符的行。我想不出办法用grep做到这一点。

仅对于字母,我想我可以使用

grep [A-Za-z] testing.txt
Run Code Online (Sandbox Code Playgroud)

但是,如何使这12个字符仅显示[A-Za-z]字符?

Jaa*_*kko 5

您可以使用扩展的正则表达式-E并指定匹配从开始^到结束$完全为{12}个字符来完成此操作

$ grep -E "^[A-Za-z]{12}$" testing.txt
timetolearnz
helloworldad
Run Code Online (Sandbox Code Playgroud)

或者,如果您想获取行数-c,则可以使用

$ grep -cE "^[A-Za-z]{12}$" testing.txt
2
Run Code Online (Sandbox Code Playgroud)