正则表达式:数字开头中间字母结尾数字
linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾这样写不对吗?grep-E"^[0-9]+[a-z]+[0-9]$".-R-n新人求教...
linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾
这样写不对吗?
grep -E "^[0-9]+[a-z]+[0-9]$" . -R -n
新人求教 展开
这样写不对吗?
grep -E "^[0-9]+[a-z]+[0-9]$" . -R -n
新人求教 展开
2个回答
展开全部
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... 则可以。关键字 ( [ ^ ])。注:'^'符号在 [ ]内表示取反操作。
展开全部
如果你的结尾数字是多个也可以的话,你就要再加上一个+号,另外,中间的字母允许大写么?允许的话要再加上A-Z,所以你可以改这样试试:
"^[0-9]+[a-zA-Z]+[0-9]+$"
"^[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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询