我正在尝试使用grep只打印以特定模式开头的行。这是一个例子
$SERVER_IP = 2.2.2.2
$SERVER_IP_PORT = 1111
$SERVER_IP_XXX = blablabla
我希望grep只打印SERVER_IP = 2.2.2.2而不打印其他三行。
我尝试了下面的命令,但它无法正常工作
grep -e "^\s*\$SERVER_IP$"
如果我尝试:
grep -e "^\s*\$SERVER_IP"
grep将打印所有三行
如何使用grep -e或egrep完成此操作?谢谢
答案 0 :(得分:1)
grep -e "^\s*\$SERVER_IP\>"
\>
表示“单词边界”,或“单词字符符合非单词字符的地方。”
答案 1 :(得分:0)
使用grep -e' ^ \ $ SERVER_IP ='匹配任何以$ SERVER_IP =
开头的行答案 2 :(得分:0)
如果你有awk
,你可以这样做:
awk '$1=="$SERVER_IP"' file
$SERVER_IP = 2.2.2.2
==
仅在字段1
准确$SERVER_IP
时才匹配