我有一些grep命令的问题.我的文件夹中有以下两个文件:
TEST.DAT:
fdf
bla(fd_bla_bla) =&
bdf bla
Run Code Online (Sandbox Code Playgroud)
test2.dat
fd
fd
fij
d
bla(fdf)
fdjk
bla
Run Code Online (Sandbox Code Playgroud)
现在我用它搜索带括号的bla
grep 'bla(*)' *
Run Code Online (Sandbox Code Playgroud)
但它只是给了我第一个文件的条目......你知道为什么吗?
the*_*eye 10
你需要正则表达式才能进行匹配.
egrep "bla\(.*\)" *.dat
Run Code Online (Sandbox Code Playgroud)
会给出正确的结果.
你grep 'bla(*)' *不会工作,因为它会寻找bla)或bla((((((((), 0 或多个,(然后bla后面跟着单个)
做就是了:
grep '\bbla(' *.dat
Run Code Online (Sandbox Code Playgroud)
(在模式中将匹配文字(\b) 将使 grep 匹配foo bla(..)and bla(xx),但不匹配foobla(xxx)。| 归档时间: |
|
| 查看次数: |
17038 次 |
| 最近记录: |