正则表达式:数字开头中间字母结尾数字

linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾这样写不对吗?grep-E"^[0-9]+[a-z]+[0-9]$".-R-n新人求教... linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾
这样写不对吗?
grep -E "^[0-9]+[a-z]+[0-9]$" . -R -n

新人求教
展开
 我来答
yesyes科
2020-03-19 · TA获得超过2.6万个赞
知道答主
回答量:608
采纳率:0%
帮助的人:9.6万
展开全部

1、linux使用正则表达式命令,搜索以某个字串打头的行。命令如下:# grep -n '^word' filename表示带行号输出所有以word打头的该行内容,其中[^word]为关键字。

2、搜索一某个字串结尾的行。命令如下:# grep -n 'word$' filename表示带行号输出所有以word结尾的该行内容,其中[word$]为关键字。

3、匹配任意一个字符。如下:# grep -n 't.e' filename表示显示含有字符 tae,tbe...等字串的行,但不能是 te ,因为' . '点号代表一个任意字符。关键字 [ . ]。

4、匹配0个或多个前面一个字符。示例如下:# grep -n 'cho*' filename表示将寻找 ch,cho,..,符号’*'代表将重复字符o零次或多次。关键字[ *]。

5、取反操作,如下:# grep -n '[^s]he' filename表示将不搜索she字串,其他的ahe,bhe... 则可以。关键字 ( [ ^ ])。注:'^'符号在 [ ]内表示取反操作。

seesea2517
推荐于2017-12-16 · TA获得超过1480个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:551万
展开全部
如果你的结尾数字是多个也可以的话,你就要再加上一个+号,另外,中间的字母允许大写么?允许的话要再加上A-Z,所以你可以改这样试试:
"^[0-9]+[a-zA-Z]+[0-9]+$"
追问
mi@ubuntu:~/test$ cat test.txthe is a rat      
he is in a rut
the food is Rotten
I like root beer
whe is in a rut
1256313asas11
12312213
546aaaaa
111

habchhabc
hhhabcd
hhhhhh
现在我要得到1256313asas11行,
mi@ubuntu:~/test$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+]$"
这么写不对吗?
追答
你多打了一个]号了:
[seesea@UC flight]$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+]$"
[seesea@UC flight]$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+$"
1256313asas11
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式