当我们使用vi去编辑文件的时候,如果需要批量修改文件中的某些正则匹配的表达式,那么sed替换命令很实用。
ed中的替换命令是s,与之结合使用的通常是g(表示全局)。
/regular/d "regular表示某一个字串,该命令意为删除带有regular字串的当前行,而非全局。"
若要实现全局删除 g/regular/d 即可。
下面距离s命令简单替换使用:
s/pattern/acc “替换当前行中第一次出现pattern字串的部分为acc,注意只是当前行的第一次出现地址”
若要实现当前行的所有pattern字段的替换,只需加g标志即可: s/pattern/acc/g
/pattern/s/pattern/acc/g : 此种方式通过第一个pattern指定一个地址。记住此时第一个pattern是一个地址,第二个pattern是要匹配的字符串。
如若需要将替换应用到文件全局,则使用: g/pattern/s/pattern/acc/g
地址和模式不必相同,对应前后两个pattern,如果两者相同,则可使用两个连续的定界符(//)告诉ed,即 g/pattern/s//acc/g
VI过滤空格使用如下命令:
%s/\s//g