如何使用 grep 匹配部分出现的搜索字符串
how to use grep to match partial occurrence of searched string
我的文本文件:
vol0 0.9 vol2 1.2 vol3 3 vol1_1 1.4 voll_2 5
vol1 1 vol2 1.2 vol3 3 vol1_1 1.4 voll_2 5
vol2 1.3 vol2 1.8 vol3 3.2 vol1_1 1.2 voll_2 4.8
....
如何使用 vol1 grep 行,即只有第二行。从我所做的来看,它正在占用所有三行。
我假设您只想将“vol1”匹配为一个不同的词,而不是“vol1_1”,
对于 grep,使用 -w
标志(并且由于您不是在搜索正则表达式,因此添加 -F
)
grep -Fw vol1 filename
使用 Tcl,regular expressions 可以包含 \y
zero-width 匹配单词开头或结尾的约束:
set fh [open $filename r]
while {[gets $fh line] != -1} {
if {[regexp {\yvol1\y} $line]} {
puts $line
}
}
close $fh
我的文本文件:
vol0 0.9 vol2 1.2 vol3 3 vol1_1 1.4 voll_2 5
vol1 1 vol2 1.2 vol3 3 vol1_1 1.4 voll_2 5
vol2 1.3 vol2 1.8 vol3 3.2 vol1_1 1.2 voll_2 4.8
....
如何使用 vol1 grep 行,即只有第二行。从我所做的来看,它正在占用所有三行。
我假设您只想将“vol1”匹配为一个不同的词,而不是“vol1_1”,
对于 grep,使用 -w
标志(并且由于您不是在搜索正则表达式,因此添加 -F
)
grep -Fw vol1 filename
使用 Tcl,regular expressions 可以包含 \y
zero-width 匹配单词开头或结尾的约束:
set fh [open $filename r]
while {[gets $fh line] != -1} {
if {[regexp {\yvol1\y} $line]} {
puts $line
}
}
close $fh