有这个文件
ServerName *
ServerAlias *
ServerAlias *
<Directory>
Run Code Online (Sandbox Code Playgroud)
我想在第一次出现ServerAlias后用文本S2追加一个新行.我尝试了以下内容
sed '/ServerAlias/ a\S2\' foo
Run Code Online (Sandbox Code Playgroud)
但是这在所有事件发生后都会附加.
我的最终结果应该是
ServerName *
ServerAlias *
S2
ServerAlias *
<Directory>
Run Code Online (Sandbox Code Playgroud)
实际上,它不是sed,但也许awk可以帮助你.
$> cat ./file
ServerName *
ServerAlias *
ServerAlias *
<Directory>
$> awk '{print} /^ServerAlias/ && !n {print "S2"; n++}' ./file
ServerName *
ServerAlias *
S2
ServerAlias *
<Directory>
Run Code Online (Sandbox Code Playgroud)
UPD:现在修复了错误,谢谢glenn_jackman