我有一个设置为特定数字的变量,即num = 56和一个充满数字和其他字符串的文件。我想匹配数字和一些字符串,并得到包含它们的整行。
例如,
我想在一个文件中匹配这是我的号码:$ num [mbits] ,如下所示。
random text in front - this is my number: 56 [mbits]
random text in front - this is my number: 21 [mbits]
random text in front - this is my number: 15 [mbits]
random text in front - this is my number: 38 [mbits]
random text in front - this is my number: 49 [mbits]
random text in front - this is my number: 10 [mbits]
random text in front - this is my number: 89 [mbits]
我正在使用下面的命令,但是当我包含整个字符串时它不起作用。
grep -n"这是我的号码:$ num [mbits]" info.log>> info1.log
该文件仍为空。
它只能作为 grep -n"这是我的号码:" info.log>> info1.log ,我得到了上面的所有行。我只需要一个具有特定号码的那个。
所需的输出应为
前面的随机文字 - 这是我的号码:56 [mbits]
任何帮助?
提前谢谢。
答案 0 :(得分:2)
您需要使用grep -F
(固定字符串匹配):
num=56
grep -F "this is my number: $num [mbits]" info.log
否则:
grep "this is my number: $num \[mbits\]" info.log
由于[
和]
是特殊的正则表达式字符而不是需要转义。
<强>输出:强>
random text in front - this is my number: 56 [mbits]