相关疑难解决方法(0)

为什么grep匹配所有行,无论模式如何

我在使用grep时遇到问题.我有一个文件http://pastebin.com/HxAcciCa,我想检查某些模式.当我试图搜索它时,grep会返回所有行,前提是该模式已存在于给定文件中.

为了解释更多,这是我正在运行的代码

grep -F  "ENVIRO" "$file_pos" >> blah    
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,即使我提供整行作为模式bash总是返回所有行.
这些是我正在尝试的变化:

grep -F  "E20" "$file_pos" >> blah
grep E20 "$file_pos" >> blah 
grep C:\E20-II\ENVIRO\SSNHapACS480.dll "$file_pos" >> blah
grep -F C:\E20-II\ENVIRO\SSNHapACS480.dll "$file_pos" >> blah
Run Code Online (Sandbox Code Playgroud)

同样由于某些奇怪的原因,在向grep添加-x选项时,尽管存在确切的模式,但它不会返回任何行.

我搜索了网络和bash文档的原因,但找不到任何东西.

我的最终测试如下

grep -F -C 1  "E20" "$store_pos" >> blah #store_pos has the same value as $file_pos
Run Code Online (Sandbox Code Playgroud)

我想也许是在结果后打印线条但事实并非如此.我正在使用blah文件来查看输出.我也在使用Linux薄荷丽贝卡.最后虽然命名很熟悉但这个问题与grep为什么匹配模式"\"的所有行都不相似

最后我想说我是bash的新手.我怀疑错误可能是由于主文件http://pastebin.com/HxAcciCa而不是代码?

regex bash grep

6
推荐指数
1
解决办法
911
查看次数

为什么这些正则表达式不同?

我正在寻找有撇号的行,并尝试了一些看起来与我相同的表达; 然而,有些人工作,有些人没有.为什么我会得到以下行为:

egrep \' file      # works as expected

egrep "\'" file    # seems to return all lines

egrep "[\']" file  # works as expected

egrep '\'' file    # seems to be waiting for more input
Run Code Online (Sandbox Code Playgroud)

regex grep

0
推荐指数
1
解决办法
92
查看次数

标签 统计

grep ×2

regex ×2

bash ×1