| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4328 人关注过本帖
标题:Linux sed命令的基本使用
取消只看楼主 加入收藏
堕落黑天使
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2016-12-22
结帖率:0
收藏
 问题点数:0 回复次数:0 
Linux sed命令的基本使用
sed(Stream Editor):流编辑器

一次只读取一行

模式空间

1、sed语法:

sed [option] "script" FILE...

2、选项:

-n:静默模式,不输出模式空间中的内容

-r:使用扩展的正则表达式

-f:/path/to/sed_script_file:指定sed脚本文件

-e 'script' -e 'script' :指定多个编辑脚本

-i:直接修改读取的文件内容,而不是输出到终端

3、编辑命令:

d:删除

p:打印

i \text:匹配内容上面增加text内容

a \text:匹配内容西面增加text内容

r /path/to/somefile:在制定位置把另外一个文件的内容插入进来

w /path/to/somefile:将符合条件的所有行保存至指定得文件中

= :显示符合条件行的行号

例如:# sed -n '/^UUID/=' /etc/fstab

s///:查找条件可以使用模式,但要替换的内容不行

4、地址定界:

startline,endline:1,3

/pat1/,/pat2/

/pattern/

用法:

sed [options] 'addr1[,addr2]编辑命令' FILE ...

sed [options] "addr1[,addr2]编辑命令" FILE ...

5、正则表达式:

基本的:

字符:

    .

    []

    [^]

次数:

    *

    \?

    \{m,n\}

锚定:

    ^

    $

    \<,\b

    \>,\b

分组:

    \(\)

引用:

    \1,\2,...

扩展:

字符:

    .

    []

    [[:lower:]],[[:punct:]],[[:alnum:]]

次数:

    *

   

    +

    {m,n}

锚定:

    ^

    $

    \>,\b

    \<,\b

或:

    a|b

分组:

    ()

引用:

    \1,\2,...

sed '地址定界s@查找条件@替换文本@'

6、修饰符:

g:global,全局替换

i:ignore-case,不区分字符大小写

7、例子:

1、将selinux的enforcing改成disabled

# sed 's@^SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config

2、删除/etc/init.d/functions文件中的空白行

# sed '/^$/d' /etc/init.d/functions

3、删除/etc/inittab文件中位于行首的#号

# sed 's@^#@@g' /etc/inittab

4、删除/etc/rc.d/rc.sysinit文件夹中以#后跟至少一个空白字符开头的行的行首的#和空白字符

# sed 's@^#[[:space:]]\{1,\}@@g' /etc/rc.d/rc.sysinit

5、删除/boot/grub/grub.conf文件中行首的空白字符

# sed 's@^[[:space:]]\{1,\}@@' /boot/grub/grub.conf

6、取出一个文件路径的目录名称

# echo /etc/sysconfig/network/ | sed 's@[^/]\{1,\}/\?$@@'

更多内容:http://www.网站建设
搜索更多相关主题的帖子: 编辑器 表达式 Linux 空间 
2017-02-06 14:47
快速回复:Linux sed命令的基本使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014965 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved