我有一个要求,我必须获得文件中模式的文件名、行号、匹配位置(字节偏移量).
为此,我使用了grep
命令,到目前为止,我可以毫无问题地获取文件名和行号,但无法分别获取每行的匹配位置.
grep
中有一个-b
选项,它给出字节偏移量,但不给出每一行的单独结果.
try 如下:
grep --with-filename -n -r -E -o "pattern" file.txt
这将提供文件名和行号以及匹配线.
grep --with-filename -n -r -E -o -b "pattern" file.txt
这提供了字节偏移量(行中匹配的位置),但它将整个文件视为单行并给出结果,但我需要从该行开始的每一行的位置结果,而不是文件的开始.
例如:file.txt
abc
def
xyzva
搜索模式:A
预期结果:
file.txt:1:0:abc
file.txt:3:4:xyzva
如果在Python中有任何其他相同的解决方案,那也是可以接受的.