ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux sed用法(转载)

linux sed用法(转载)

原创 Linux操作系统 作者:jack22220613 时间:2011-06-20 14:39:00 0 删除 编辑

linux,其实也就是查看和修改配置文件的过程。

刚开始接触linux,其实还是老实用vi来编辑文件,不过同样的过程重复多次,你就要想办法简化你的过程。sed绝对是一个好的命令或者工具,你不需要用vi打开文件就可以直接编辑。

sed的用法网上很多,我也没有看懂多少。现在就是会对着简单的例子来修改。不过这其实也够了。我也只需要一些简单的功能。

1:注释掉某一行

这个经常会遇到的,把配置文件里某一行注释掉。让他不起作用。

sed -i -e '121 s/^/#/' /usr/local/apache2/conf/httpd.conf

上面一行命令的意思,就是把121行注释掉。

sed -i -e '121 s/^/#/' -i -e '122 s/^/#/' /usr/local/apache2/conf/httpd.conf

这个就是把121,122行注释掉。

2:把注释#去掉,让这行起作用

sed -i 's/#ServerName www.example.com:80/ ServerName www.example.com:80/g' /usr/local/apache2/conf/httpd.conf

这个命令就是把这行的#去掉。其实就是一个替换的过程,

3:在某行的位置插入一行

如果只是在一个文档后面追加一行,那很简单。>> 就可以搞定。不过如果是在指定的某一行里插入。

sed -i "8 s/^/alias vi='vim'/" /root/.bashrc

就是在第8行插入 alias vi='vim'

4:如何插入一行,包括特殊字符 /

sed -i "58 s/^/AddType application\/x-httpd-php .php .phtml/" httpd.conf

这样就让apache支持php,简单多了。

下面的用法还没有测试。改天测试

Sed:

1、删除行首空格

   sed 's/^[ ]*//g' filename

   sed 's/^ *//g' filename

   sed 's/^[[:space:]]*//g' filename

2、行后和行前添加新行

   行后:sed 's/pattern/&\n/g' filename

   行前:sed 's/pattern/\n&/g' filename

   &代表pattern

3、使用变量替换(使用双引号)

    sed -e "s/$var1/$var2/g" filename

4、在第一行前插入文本

    sed -i '1 i\插入字符串' filename

5、在最后一行插入

sed -i '$ a\插入字符串' filename

6、在匹配行前插入

    sed -i '/pattern/ i "插入字符串"' filename

7、在匹配行后插入

   sed -i '/pattern/ a "插入字符串"' filename

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10037372/viewspace-700267/,如需转载,请注明出处,否则将追究法律责任。

下一篇: utl_file ora-29285
请登录后发表评论 登录
全部评论

注册时间:2009-05-13

  • 博文量
    94
  • 访问量
    350438