Linux 如何对包含等号的字符串进行grep?

Linux 如何对包含等号的字符串进行grep?,linux,bash,shell,Linux,Bash,Shell,下面是我试图在bash shell中对此进行grep的字符串: '#Hostname=sometext.company.com, sometext.company.com' filename 我只想找到字符串,如果它匹配的确切模式。我已经试过下面的命令和其他一些命令 grep-Fx“#Hostname=sometext.company.com,sometext.company.com”文件名您是否故意指定了-x选项 grep -F '#Hostname=sometext.company.com

下面是我试图在bash shell中对此进行grep的字符串:

'#Hostname=sometext.company.com, sometext.company.com' filename
我只想找到字符串,如果它匹配的确切模式。我已经试过下面的命令和其他一些命令


grep-Fx“#Hostname=sometext.company.com,sometext.company.com”文件名

您是否故意指定了
-x
选项

grep -F '#Hostname=sometext.company.com, sometext.company.com' filename

很可能是你想要的。此外,最好用单引号而不是双引号,以防您的搜索模式恰好包含特殊的shell字符。

您是否故意指定了
-x
选项

grep -F '#Hostname=sometext.company.com, sometext.company.com' filename

很可能是你想要的。此外,最好使用单引号而不是双引号,以防您的搜索模式恰好包含特殊的shell字符。

是否检查了目标行是否有前导/尾随空格?既然你有
-x
,grep就匹配了整条线。为什么你认为
=
在这项工作中有什么作用呢?您能否显示您正在运行的确切输入和确切命令,以及您得到的输出?您当前能匹配文件中的任何行吗?您的文件是否有DOS行结尾?是否检查了目标行是否有前导/尾随空格?既然你有
-x
,grep就匹配了整条线。为什么你认为
=
在这项工作中有什么作用呢?您能否显示您正在运行的确切输入和确切命令,以及您得到的输出?您当前能匹配文件中的任何行吗?您的文件是否有DOS行结尾?是否确实需要
-F
?匹配中不考虑多个由换行符分隔的固定字符串。如果没有
-F
,它也能正常工作。我希望
-x
选项与使用的单词完全匹配。@DavidC.Rankin从历史上看,
-F
简化了
grep
的行为,变得像
fgrep
,它只理解固定字符串(没有正则表达式)因此,可以使用更简单、更快的运行模式匹配算法来实现。今天,这一点可能还没有定论;在某些系统上,
fgrep
egrep
等都是指向同一个
grep
可执行文件的符号链接,对于当今硬件的许多应用程序来说,执行速度的差异可能不再显著。@AnthonyFreeman你指的是什么“单词”?示例将匹配字符串
#Hostname=sometext.company.com,sometext.company.com
–这不是您想要的吗?@Guido我正在尝试查找字符串,前提是字符串前面有
#
。例如,如果搜索是
Hostname=sometext.company.com,sometext.company.com
,而不是
#Hostname=sometext.company.com,sometext.company.com
,则搜索不应该给我任何信息。我希望这能澄清问题。
-F
真的有必要吗?匹配中不考虑多个由换行符分隔的固定字符串。如果没有
-F
,它也能正常工作。我希望
-x
选项与使用的单词完全匹配。@DavidC.Rankin从历史上看,
-F
简化了
grep
的行为,变得像
fgrep
,它只理解固定字符串(没有正则表达式)因此,可以使用更简单、更快的运行模式匹配算法来实现。今天,这一点可能还没有定论;在某些系统上,
fgrep
egrep
等都是指向同一个
grep
可执行文件的符号链接,对于当今硬件的许多应用程序来说,执行速度的差异可能不再显著。@AnthonyFreeman你指的是什么“单词”?示例将匹配字符串
#Hostname=sometext.company.com,sometext.company.com
–这不是您想要的吗?@Guido我正在尝试查找字符串,前提是字符串前面有
#
。例如,如果搜索是
Hostname=sometext.company.com,sometext.company.com
,而不是
#Hostname=sometext.company.com,sometext.company.com
,则搜索不应该给我任何信息。我希望这能把事情弄清楚。