从包含数字和字符串的文件中获取整行
Get the entire line from a file which contains a number and string
我有一个设置为特定数字的变量,即 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 "this is my number: $num [mbits]" info.log >> info1.log
文件仍然是空的。
它仅适用于 grep -n "this is my number:" info.log >> info1.log 我得到了上面的所有行。我只需要有特定号码的那个。
所需的输出应该是,
前面的随机文字-这是我的号码:56 [mbits]
有什么帮助吗?
提前谢谢你。
你需要使用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]
我有一个设置为特定数字的变量,即 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 "this is my number: $num [mbits]" info.log >> info1.log
文件仍然是空的。
它仅适用于 grep -n "this is my number:" info.log >> info1.log 我得到了上面的所有行。我只需要有特定号码的那个。
所需的输出应该是,
前面的随机文字-这是我的号码:56 [mbits]
有什么帮助吗?
提前谢谢你。
你需要使用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]