免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2851 | 回复: 5
打印 上一主题 下一主题

关于在一行中插入某个字符串的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-27 15:40 |只看该作者 |倒序浏览
我想用shell的脚本编辑httpd.conf

把其中的   (行前面有空格)  DirectoryIndex index.html
改成     DirectoryIndex index.php index.html

我是想把字符串index.php插入到那一行中间
而不是用命令直接把那一行替换成我想要的那个样子.

希望大家给个提示,帮个忙,我做不出来!!!

论坛徽章:
0
2 [报告]
发表于 2003-03-27 15:49 |只看该作者

关于在一行中插入某个字符串的问题?

  1. sed  's:\(index.html\):index.php  \1:'   httpd.conf
复制代码

论坛徽章:
0
3 [报告]
发表于 2003-03-27 16:27 |只看该作者

关于在一行中插入某个字符串的问题?

呵呵!对了!谢谢!

:和/的作用一样吧!终于知道\(...\)的用法了,看过书,但是没有想到!

问两个问题:

      一是,如果这个文件中出现多处index.html怎么办(只是假如,这个文件就这一处),能不能根据DirectoryIndex和index.html两个字符串来判断插入的位置。
    二是,如果文件中那句话是这个样子DirectoryIndex index.jsp  index.html,我想把index.php插入到DirectoryIndex后面的第一个(这个文件中DirectoryIndex可不止一个),我该怎么办好!

论坛徽章:
0
4 [报告]
发表于 2003-03-27 16:48 |只看该作者

关于在一行中插入某个字符串的问题?

第一个问题:
awk '{if($1=="DirectoryIndex" && $2=="index.html" print $1 " index.php " $2; else print $0 }' filename

论坛徽章:
0
5 [报告]
发表于 2003-03-27 16:52 |只看该作者

关于在一行中插入某个字符串的问题?

第二个问题:
sed 's/DirectoryIndex/DirectoryIndex index.php/' filename

论坛徽章:
0
6 [报告]
发表于 2003-03-27 17:01 |只看该作者

关于在一行中插入某个字符串的问题?

1.
  1. sed  's:\(index.html\):index.php  \1:'   httpd.conf
复制代码

以上代码只考虑你的第一个匹配的index.html,如果要考虑多个,只要在最后一个冒号“:”后加以个“g”就行了。
2.
  1. sed  's:\(DirectoryIndex\):\1 index.php:'   httpd.conf
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP