sed 命令

来源:互联网 发布:squarespace域名设置 编辑:程序博客网 时间:2024/05/29 11:29

sed

Table of Contents

  • 1 命令
  • 2 常用命令及示例
    • 2.1 1.p命令 打印
    • 2.2 2.d命令 删除
    • 2.3 3.s命令 替换,格式:s/regexp/replacement/

1 命令

sed是非交互式的文本编辑器,它不会修改文件,需要将结果重定向到文件保存,默认直接输出到屏幕。 命令格式: sed [选项].. {命令} [输入文件]..

常用选项 -n 取消自动打印 -e 添加命令到程序的运行列表,此选项多重执行 -f 命令以文件的行式提供 -r 命令中使用正则表达式

无选项时,-e被认为是默认参数

2 常用命令及示例

2.1 1.p命令 打印

sed '/my/p' datafile #默认情况下,sed把所有输入行都打印在标准输出上。如果某行匹配模式my,p命 令将把该行另外打印一遍。

sed -n '/my/p' datafile #选项-n取消sed默认的打印,p命令把匹配模式my的行打印一遍。

2.2 2.d命令 删除

sed '$d' datafile #删除最后一行,其余的都被显示

sed '/my/d' datafile #删除包含my的行,其余的都被显示

2.3 3.s命令 替换,格式:s/regexp/replacement/

sed 's/My/You/g' datafile #命令末端的g表示在行内进行全局替换,也就是说如果某行出现多个My,所有的My都被替换为You。

sed -n '1,20s/My$/You/gp' datafile #取消默认输出,处理1到20行里匹配以My结尾的行,把行内所有的My替换为You,并打印到屏幕上。

sed 's#My#Your#g' datafile 无论什么字符(换行符、反斜线除外),只要紧跟s命令,就成了新的串分隔符。

sed 's,\(a.o\) \(1.o\),&:\1.c:\2.c,g' test &为匹配的内容,\1到\9为分别为()内的内容

参考:http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html

原创粉丝点击