![grep 返回没有匹配文本的行,并且不提供带有 -n 标志的行号](https://linux22.com/image/175745/grep%20%E8%BF%94%E5%9B%9E%E6%B2%A1%E6%9C%89%E5%8C%B9%E9%85%8D%E6%96%87%E6%9C%AC%E7%9A%84%E8%A1%8C%EF%BC%8C%E5%B9%B6%E4%B8%94%E4%B8%8D%E6%8F%90%E4%BE%9B%E5%B8%A6%E6%9C%89%20-n%20%E6%A0%87%E5%BF%97%E7%9A%84%E8%A1%8C%E5%8F%B7.png)
我有一个包含超过 100 万行的大型 csv 文件。我在某些行中得到一些奇怪的十六进制输出,这些输出与其余数据不匹配。我想使用 grep 快速查找原始文本 (csv) 文件中的特定行。
我搜索了十六进制值:
grep -n 7CEC119CA8D46F42DC3DB4A971357E7D large_csv.txt
输出是一行,但不包含通常的行号后跟“:”,并且不突出显示任何匹配项(因为没有匹配项)。
我无法显示输出,因为其中包含可识别信息,但结果不包含7CEC119CA8D46F42DC3DB4A971357E7D
或任何接近的内容。我尝试了十六进制转换器,但返回的行或上面-A
或下面的行中根本没有匹配的内容-B
。
如果我更改其中的单个字母或数字,7CEC119CA8D46F42DC3DB4A971357E7D
则不会得到匹配项,并且不会按预期返回任何输出。
但是,如果我从中删除任意数量的字符或数字7CEC119CA8D46F42DC3DB4A971357E7D
(当然小于长度),我会得到与上面相同的输出,没有任何突出显示,也没有行号。
当我从匹配行中选择一些唯一的东西并使用该字符串重新运行时grep -n
,输出是同一行,除了这次匹配突出显示并显示行号。
grep 匹配是什么?