在大文件中搜索并添加模式

San*_*oid 3 unix linux shell perl awk

我有一个很大的apache配置文件,在每个虚拟主机部分中,我想添加自己的日志条目.我想知道我是否可以用脚本来做.

我当前的配置文件是这样的;

ServerName abc.com   
some information.   
…   
……   
Run Code Online (Sandbox Code Playgroud)

我希望有类似的东西;

ServerName abc.com    
CustomLog "/usr/local/logs/abc.com.log"    
some information.    
…   
……       
Run Code Online (Sandbox Code Playgroud)

有可能通过某种脚本吗?我有很多这样的虚拟主机条目,所以手动更新是不可能的..任何想法?

Joh*_*nck 5

Sed将快速完成这项工作:

sed 's=^ServerName \(.*\)=&\nCustomLog "/usr/local/logs/\1.log"='
Run Code Online (Sandbox Code Playgroud)

编辑:我之前发布了其他内容,然后去测试它,我犯了一个错误.所以我测试了choroba的答案,发现它也没有用,所以修复它并简化它.