2014-01-11 144 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 

請模式空間兩條直線,並遇到了需要的線路時,更換兩個字符串。