如何使用grep和正则表达式来显示只有3个字符的名称[关闭]

问题描述 投票:0回答:3

我是 grep 和 UNIX 新手。我有一个数据样本,想要显示所有仅包含三个字符的名字,例如李_示例。但我这样做有些困难。我目前正在使用此代码

cat file.txt|grep -E "[A-Z][a-z]{2}"
,但它显示包含至少 3 个字符的所有名称,而不是 3 个字符

样本数据

名字 数字
李_示例 1
赫克托_示例 2
linux unix grep
3个回答
2
投票

您需要匹配名字后面的

_

grep -E "[A-Z][a-z]{2}_"

0
投票

awk

awk -F_ 'length($1)==3{print $1}'

-F_
告诉 awk 按
_
分割输入行。
length($1) == 3
检查第一个字段(名称)是否为 3 个字符长,并且
{print $1}
在这种情况下打印名称。


0
投票

可以尝试以下命令:

grep -w "..." file.txt
© www.soinside.com 2019 - 2024. All rights reserved.