2014-01-11 107 views
-1

有人能告诉我在Linux中的命令来替换以下内容吗?在Linux中查找并替换文本

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/new %i" 
PIDFile=/home/new/.new/%H %i.pid 

ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" 
PIDFile=/home/NUSER/.new/%H %i.pid 

我感到有点困惑与sed的,因为我不知道如何插入换行符在更换。

回答

0

这可能为你工作(GNU SED):

sed -r '$!N;s/^(ExecStart=.*)new(.*\nPIDFile=.*\/)new(.*)/\1vnserver\2NUSER\3/;P;D' file 

请模式空间两条直线,并遇到了需要的线路时,更换两个字符串。