我正在尝试从文件 /([0-9]+)#(\w)+.(\w)+.(\w)+.(\w)+. (\w)+#/g
我正在使用 sed
(但我可以使用 Linux 中的任何其他工具)。
sed 's|/([0-9]+)#(\w)+.(\w)+.(\w)+.(\w)+.(\w)+#/g||g' test.txt
在上面的命令中,我试图用空字符串替换正则表达式匹配(删除正则表达式匹配) 运行它不会对文件进行任何更改。
这是我在文件 test.txt 中的内容
3149177#sometext.something.a01234.e8f933.1414522190425#{....}3149177#sometext.somethingElsea.a12345.e8f932.1414412190425#{.....}3149177#sometext.somethingElsea.a23456.e8f931.1414512190425#{....}
这是我编辑后想要的
{....}{.....}{....}
最佳答案
你有额外的分隔符和 g
标志。这有效:
sed -i.bak -r 's|([0-9]+)#(\w)+.(\w)+.(\w)+.(\w)+.(\w)+#||g' test.txt
{....}{.....}{....}
关于regex - 从大文件 (~1G) 中删除模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637312/