Shell基本语法---处理海量数据的sed命令

sed命令

  • shell脚本三剑客之一
  • 处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。

  • sed语法:sed [选项] [动作] 文件名

  • 常见的选项与参数

    • -n     #把匹配到的行输出打印到屏幕

    • p      #以行为单位进行查询,通常与-n一起使用

1 df -h | sed -n '2p'   #输出第二行
    • d     #删除
1 sed '2d' df.txt
    • a    #在行的下面插入新的内容

    • i     #在行的上面插入新的内容

1 sed '2a 1234567890' df.txt
2 
3 sed '2i 1234567890' df.txt
    • s/要被取代的内容/新的字符串/g      #指定内容进行替换
1 sed 's/0%/100%/g' df.txt
    • -i     #对源文件进行修改(高危操作,慎用,用之前需要备份源文件)

    • -e     #表示可以执行多条动作

1 cat -n df.txt  | sed -n -e 's/100%/100%-----100%/g' -e '/100%-----100%/p' 

 

posted @ 2019-07-31 08:40  Yong_无止境  阅读(325)  评论(0编辑  收藏  举报