sed的使用举例 --Unix Shell

来源:互联网 发布:网络机顶盒电视猫 编辑:程序博客网 时间:2024/06/05 02:24

sed 和 awk 是Unix环境下强大的文本过滤工具。


通过sed和awk,可以方便的编辑本地的文件,也可以更方便的使用正则表达式过滤其他的命令的输出。


sed 代表 Stream Editor,意味着 sed 是面向流机制的。为sed命令提供的所有输入在被sed处理后都要送到 STDOUT。

sed 命令并不改变输入的文字。


常用的sed格式:

一、单个 sed 的执行

sed 读取每一行数据,然后执行一个动作。

语法为:

sed `script` files  

需要注意的是script被反向单引号包起来,反向单引号是 ~键同键字符。


script 是一个或者多个如下格式的命令:

/pattern/action


pattern 是正则表达式

action: p 打印正在处理的数据行

             d 删除正在处理的数据行

             s/pattern1/pattern2/  用第二种正则式替换第一种表达式,原命令 /pattern/s/pattern1/pattern2/ 这种情况下,省略为  s/pattern1/pattern2/


二、多个 sed 命令的执行

执行多个 sed 命令,用如下命令:

 sed -e `command1'  -e `command2`  -e `command3` files


常用的例子是用sed 确定用户的用户ID:

 id  |   sed -e s/uid=//g   -e s/\(.*//g

id 输出 :

       uid=500(david) gid=500(david)

第一个命令:

-e s/uid=//g 表示用空替换 uuid=

-e s/\(.*//g   表示从第一个括号开始 ( 到后面的全部字符都用空替换


这样,得到的是 uid 的值: 500



0 0
原创粉丝点击