文本处理 之 sed

sed 命令也是非常有用,主要用来将数据进行选取, 替换, 删除, 新增等操作。


以下先列几个不错的网上教程:

  1. man sed

     man sed | less
    
  2. sed mannual
    sed mannual

  3. sed introduction
    sed introduction

  4. 鸟哥 sed
    鸟哥 sed

  5. wikipedia-sed
    wiki

  6. sed 简明教程
    sed 简明教程

  7. sed 教程
    sed 命令


以下为慕课网上的tony 老师的linux 相关教程的笔记:

sed [选项] '[动作]' 文件名

选项:

-n : 一般sed命令会把所有数据都输出到屏幕, 加上 -n 则只会把经过 sed 命令处理的行输出到屏幕。
-e : 允许对输入数据应用多条 sed 命令编辑。
-i : 用 sed 的修改结果直接修改读取数据的文件, 而不是由屏幕输出。

动作:

a : 追加,在当前行后添加一行或多行
c : 行替换, 用 c 后面的字符串替换原数据行
i : 插入, 在当前行前插入一行或多行
d : 删除, 删除指定的行
p : 打印, 输出指定的行
s : 字符替换, 用一个字符替换另外一个字符串


example

行数据操作:

    sed -n '2p' a.txt
    # 查看文件的第二行
    
    sed '2,4d' a.txt
    # 删除 2-4 行数据
    
    sed '2c hello' a.txt
    # 将第2行替换为 hello

字符串替换:

    sed 's/旧字符串/新字符串/g' 文件名
    
    $ sed '3s/60/90/g' a.txt
    # 在第三行中, 把60 换成 90
    
    $ sed -e 's/feng//g; s/cang//g' a.txt
    # 同时把 'feng','cang' 替换为空字符,-e 允许多个动作

posted on 2015-09-20 16:12  OA_maque  阅读(142)  评论(0编辑  收藏  举报

导航