我想在文件中搜索与此正则表达式匹配的行:AB[0-9][0-9]-XYZ
然后简单地编辑文件,以便 char 字符串现在具有它前面的文字字符 Linux\
。例如,假设文件中存在以下字符串:
AB62-XYZ
AB10-XYZ
我只是需要那些成为:
Linux\AB62-XYZ
Linux\AB10-XYZ
澄清一下,我要查找的字符串可以而且确实出现在文件中的任何位置,不一定在一行的开头。
最佳答案
Ex/Vi 编辑器中的类似解决方案:
ex -s +'%s/\(AB[0-9][0-9]-XYZ\)/Linux\\\1/g' -cwq foo.txt
与 sed
相比,它更兼容,因为 in-place (-i
) 选项是非标准的 FreeBSD 扩展,所以它在 Unix 和 Unix 之间有不同的语法Linux.
关于regex - 如何在文件中搜索正则表达式,然后就地修改所有出现的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980192/