sed 替换基础使用

咱们简单地使用sed替换文本中的内容 sed 's/dog/elephon/' testfile,就是感受匹配上就行,而不是按照单词分割。

s使用的方式,能够在后面添加flags操做,s/pattern/replacement/flags正则表达式

  • 数字,代表新文本将替换第几处模式匹配的地方
  • g,代表新文本将会替换全部匹配的文本
  • p,代表原先行的内容要打印出来;
  • w file,将替换的结果写到文件中

好比sed 's/h/o/2' testfile编辑器

p操做使用-n选项,能够打印与替换命令模式匹配的行,sed -n 's/dog2/dophine/p' testfilespa

sed编辑器容许选择其余字符来做为替换命令中的字符串分隔符,sed -n 's!dog2!dophine!p' testfile 和上面的效果是同样的否则对于咱们经常使用的正斜线(/),那么你就要写成(\/)这样的形式,仍是挺头疼的。blog

若是只想将命令做用 于特定行或某些行,则必须用行寻址:字符串

  • 以数字形式表示行区间
  • 用文本模式来过滤出行

sed编辑器会将文本流 中的第一行编号为1,而后继续按顺序为接下来的行分配行号  test

试试将第二行的数据修改了,sed  '2s/h/o/' testfilesed

固然能够加上不少行的修改 sed  '2,3s/h/o/' testfilefile

或者说想将命令做用到文本中从某行开始的全部行,使用美圆符sed  '2,$s/h/o/' testfilecommand

sed编辑器容许指定文本模式来过滤出命令要做用的行,格式:/pattern/commandim

好比使用这样的 sed  '/dog2/s/h/o/' testfile

固然更加牛逼的功能是使用正则表达式,来达到更好的模式匹配的效果,好比简单点 sed -n  '/^The/s/h/o/p' testfile

未完待续!!!

相关文章
相关标签/搜索