grep/sed+;精确匹配复线
我有档案:grep/sed+;精确匹配复线,grep,Grep,我有档案: # more file (WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234)) 但是当我尝试匹配文件中的部分行(由grep-w)时,grep也会匹配该行(尽管这是整行的一部分) 我的问题是如何精确匹配文件中的行 所以,如果我使用grep或其他类似sed/awk的东西,它将只匹配整行 Lidia通过返回整行,grep只是表示is在该行中找到了字符串。如果只想在命令行上查看匹配的文本,可以(例如)使
# more file
(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))
但是当我尝试匹配文件中的部分行(由grep-w)时,grep也会匹配该行(尽管这是整行的一部分)
我的问题是如何精确匹配文件中的行
所以,如果我使用grep或其他类似sed/awk的东西,它将只匹配整行
Lidia通过返回整行,grep只是表示is在该行中找到了字符串。如果只想在命令行上查看匹配的文本,可以(例如)使用-o(仅匹配): 为了查看CL上的结果,请省略“echo$name |” 如果要捕获变量中的确切文本,可以执行以下操作:
name=`grep -o "(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))" /Users/deveritt/Desktop/test.html`
echo $name
(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))
…或将第二个示例与反勾号一起使用`
echo $name | grep -o "(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))"
name=`grep -o "(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))" /Users/deveritt/Desktop/test.html`
echo $name
(WORD = (TCPIP = (PROTOCOL = TCP)(WORD = ALIAS_NAME)(PORT = 10234))