Bash grep - 在行中找到准确的措辞

时间:2018-02-10 20:28:51

标签: bash shell unix scripting

我在bash中使用grep / egrep有一个问题

想象一下,我在文件中有以下几行:

Good day
Hello World 23 a
Hi Hello World
Hello World
sdHello World
Hello Worldsss

问题是找到与字符串完全匹配的行:" Hello World"

我尝试使用

grep -n "^Hello World$" file.txt

但它没有给出空结果

1 个答案:

答案 0 :(得分:0)

如果您想查找完全匹配,而不是匹配正则表达式,请使用-F指定您正在搜索固定字符串。

要使其匹配整行而不是子字符串,请使用-x

grep -n -F -x "Hello World" file.txt

但是你的^Hello World$正则表达式应该有效。如果它不匹配,那么该文件可能不包含您的想法。一种可能性是它包含Windows CRLF换行符而不是Unix LF换行符。使用dos2unix file.txt进行修复。