linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾
这样写不对吗?
grep -E "^[0-9]+[a-z]+[0-9]$" . -R -n
新人求教
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... 则可以。关键字 ( [ ^ ])。注:'^'符号在 [ ]内表示取反操作。
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