第一行带有正则表达式

第一行带有正则表达式

我想在里面搜索但替换行的第一个字符。

例如,行是这样的

池 0.ubuntu.pool.ntp.org iburst maxsources 1

我想要搜索ntp.org添加第一个角色# 我尝试了一些方法,但没有效果

%s/pool\.ntp\.org/#/gmi

我怎样才能做到这一点?

答案1

$ cat file
pool 0.ubuntu.pool.ntp.org iburst maxsources 1

$ sed -e 's/^\(.*pool\.ntp\.org\)/#\1/' file
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1

解释:

^                   # beginning of line
  \(                  # start group 1
    .*                  # 0 or more any character
    pool\.ntp\.org      # literally
  \)                  # end group

替代品:

#           # character #
\1          # backreference to group 1

相关内容