如何在Android上查找包含regexp的行,并在文件中替换该行
我试图使用regexp在文件中查找一行,并用新行替换该行。我想在Android上的命令行上执行此操作 我想我可以用vi这样做:如何在Android上查找包含regexp的行,并在文件中替换该行,android,replace,vi,Android,Replace,Vi,我试图使用regexp在文件中查找一行,并用新行替换该行。我想在Android上的命令行上执行此操作 我想我可以用vi这样做: vi +"%s/ro.streaming.video.drs.*/ro.streaming.video.drs=false/g | x" | build.prop 替换包含以下内容的行: ro.streaming.video.drs=true 与: ro.streaming.video.drs=false 但是,我注意到BusyBox中的vi 1.1.6.1不支持命令
vi +"%s/ro.streaming.video.drs.*/ro.streaming.video.drs=false/g | x" | build.prop
替换包含以下内容的行:
ro.streaming.video.drs=true
与:
ro.streaming.video.drs=false
但是,我注意到BusyBox中的vi 1.1.6.1不支持命令。实际上,它一点都不支持。有没有其他方法可以在Android上实现同样的功能?您尝试过BusyBox的
sed
sed -i 's/ro.streaming.video.drs.*/ro.streaming.video.drs=false/g' build.prop
甚至
sed -i '/ro.streaming.video.drs/ {s/=.*$/=false/}' build.prop
这是否会保留文本编码,即,如果文件是UTF-8,那么在执行此操作后它是否仍然是UTF-8?我希望像
sed
这样的老式unix文本实用程序采用ISO-8859-1(拉丁文1)编码。这就是说,您正在更改的文本在ISO-8859-1和UTF-8中的编码方式相同,我确实希望sed
按原样传递不匹配的字节。我建议测试一下。