使用 sed 或 awk 更新行
我想打开 httpd.conf 文件并使用新参数更改 LogFormat 行。 标准是该行应以“LogFormat”开头并以“combined”一词结尾
以下是我手动执行的操作。我想以编程方式更改线路。
vi /etc/httpd/conf/httpd.conf
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "\"%h\" \"%l\" \"%u\" \"%{%Y-%m-%d %H:%M:%S}t\" \"%r\" \"%>s\" \"%b\" \"%{Referer}i\" \"%{User-Agent}i\" \"%D\" \"%T\" \"%q\" \"%f\" \"%v\" " combined
I want to open the httpd.conf file and change the LogFormat line with the new parameters.
The criterion will be that the line should start with "LogFormat" and end with the word "combined"
Here is how I do manually. I want to change the line programatically.
vi /etc/httpd/conf/httpd.conf
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "\"%h\" \"%l\" \"%u\" \"%{%Y-%m-%d %H:%M:%S}t\" \"%r\" \"%>s\" \"%b\" \"%{Referer}i\" \"%{User-Agent}i\" \"%D\" \"%T\" \"%q\" \"%f\" \"%v\" " combined
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请改用 Perl 及其
-i
(就地编辑)标志。这将就地修改文件 httpd.conf,并将备份存储在文件“httpd.conf.bak”中。将“替换”替换为您想要的实际替换文本。
Use Perl instead, with its
-i
(inplace-edit) flag.This will modify the file httpd.conf in place, storing a backup in the file "httpd.conf.bak". Replace "replacement" with the actual replacement text you want.
你可以尝试这样的事情:
You could try something like: