怎么用sed,awk等命令在指定代码块中插入一行代码。假设有一个文件hello.php,内容如下:functionhello(){}functionrun(){hello();}run();该如何用sed或者awk等命令,在hello函数体内插入echo'hello,world';这段代码,使hello.php修改成如下:functionhello(){echo'hello,world';}functionrun(){hello();}run();sed好像只能作用于一行,如果hello函数的{跟函数名在同一行,倒是可以考虑把functionhello(){替换成,functionhello(){echo'hello,world';来实现这个效果的。该问题已经解决。解决方案是使用php读取整个文件进行字符替换,然后重新写入文件的方式来完成的。应用场景比较特殊,不能直接在源文件中加入“placeholder”的方案来完成。实际应用场景:Dockerfile从github下载piplin的包,修改app/Providers/AppServiceProvider.php文件,在方法functionboot()的代码块中加入\URL::forceScheme('https');以启用https。容器本身搭建的是php网络服务器,已经安装了php组件,因此使用php来完成这件事,是这种情况下比较好的解决方案了。
慕标5832272
相关分类