来自文件的子串

时间:2013-01-17 15:49:35

标签: linux string shell grep

我需要从带有正则表达式的文件中提取重合线:

这是文件的内容:

netbios-ns      137/tcp                         # NETBIOS Name Service
netbios-ns      137/udp
hkp             11371/tcp                       # OpenPGP HTTP Keyserver
hkp             11371/udp                       # OpenPGP HTTP Keyserver
bprd            13720/tcp                       # VERITAS NetBackup
bprd            13720/udp
vopied          13783/udp

我需要使用137grep进行过滤:

grep -n -e "137" file

输出必须是:

netbios-ns      137/tcp                         # NETBIOS Name Service
netbios-ns      137/udp

2 个答案:

答案 0 :(得分:1)

如果你总是有前面的空格和一个尾部斜线:

$ grep " 137/" file
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp

或者更健壮,检查任何一方的非数字:

$ grep "[^[:digit:]]137[^[:digit:]]" file
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp

答案 1 :(得分:0)

使用grep的单词边界:grep '\<137\>' file