我在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
但它没有给出空结果
答案 0 :(得分:0)
如果您想查找完全匹配,而不是匹配正则表达式,请使用-F
指定您正在搜索固定字符串。
要使其匹配整行而不是子字符串,请使用-x
。
grep -n -F -x "Hello World" file.txt
但是你的^Hello World$
正则表达式应该有效。如果它不匹配,那么该文件可能不包含您的想法。一种可能性是它包含Windows CRLF
换行符而不是Unix LF
换行符。使用dos2unix file.txt
进行修复。