一、sed

  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时
  缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的
  内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。
  如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清
  空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重
  定向存储输出。
  功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等
  参考: http://www.gnu.org/software/sed/manual/sed.html
  用法: sed [option]... 'script' inputfile... 
  常用选项
  -n 不输出模式空间内容到屏幕,即不自动打印

  -e 多点编辑
  -f /PATH/SCRIPT_FILE 从指定文件中读取编辑脚本
  -r 支持使用扩展正则表达式
  -i.bak 备份文件并原处编辑 
  地址界定
  

  (1) 不给地址:对全文进行处理
  (2) 单地址:
  #:指定的行,$:最后一行
  /pattern/:被此处模式所能够匹配到的每一行
  (3) 地址范围:
  #,#
  #,+#
  /pat1/,/pat2/
  #,/pat1/
  (4) ~:步进
  1~2 奇数行
  2~2 偶数行sed工具 
  替换
  

  s/// 查找替换,支持使用其它分隔符,s@@@,s###
  替换标记:
  g 行内全局替换
  p 显示替换成功的行
  w /PATH/FILE 将替换成功的行保存至文件中
  示例
  

  sed ‘2p’ /etc/passwd
  sed -n ‘2p’ /etc/passwd
  sed -n ‘1,4p’ /etc/passwd
  sed -n ‘/root/p’ /etc/passwd
  sed -n ‘2,/root/p’ /etc/passwd 从2行开始
  sed -n ‘/^$/=’ file 显示空行行号
  sed -n -e ‘/^$/p’ -e ‘/^$/=’ file
  Sed‘/root/a\superman’ /etc/passwd行后
  sed ‘/root/i\superman’ /etc/passwd 行前
  sed ‘/root/c\superman’ /etc/passwd 代替行
  sed ‘/^$/d’ file
  sed ‘1,10d’ file
  nl /etc/passwd | sed ‘2,5d’
  nl /etc/passwd | sed ‘2a tea’
  sed 's/test/mytest/g' example
  sed –n ‘s/root/&superman/p’ /etc/passwd 单词后
  sed –n ‘s/root/superman&/p’ /etc/passwd 单词前
  sed -e ‘s/dog/cat/’ -e ‘s/hi/lo/’ pets
  sed –i.bak ‘s/dog/cat/g’ pets
  高级编辑命令
  P: 打印模式空间开端至\n内容,并追加到默认输出之前
  h: 把模式空间中的内容覆盖至保持空间中
  H:把模式空间中的内容追加至保持空间中
  g: 从保持空间取出数据覆盖至模式空间
  G:从保持空间取出内容追加至模式空间
  x: 把模式空间中的内容与保持空间中的内容进行互换
  n: 读取匹配到的行的下一行覆盖至模式空间
  N:读取匹配到的行的下一行追加至模式空间
  d: 删除模式空间中的行
  D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,
  并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间
  不包含换行符,则会像发出d命令那样启动正常的新循环
未完待续。。。。

sed以及awk的更多相关文章

  1. Sed、Awk单行脚本快速参考

    文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本 ...

  2. sh脚本学习之: sh脚本 、sed、awk

    sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 ...

  3. 一个利用sed和awk处理文本的小栗子

    这两天做<Linux操作系统>课程的作业,碰到了一个题目,感觉很有意思,很考验对awk掌握的熟练度,故特意拿来分享. 首先说题目是这样的,有这样一段文本: RECORD #这是多余的注释行 ...

  4. Pyp 替代sed,awk的文本处理工具

    Linux上文本处理工具虽不少,像cut,tr,join,split,paste,sort,uniq,sed,awk这些经典工具让人眼花缭乱,而且都太老了,使用方法都不太人性化,尤其awk,语法简直反 ...

  5. sed and awk学习笔记

    sed and awk 背景 awk起源追溯至sed和grep,进而追溯至共同的行编辑器ed.实用工具grep来源于ed命令:g/re/p .实用工具awk和sed有一个共同的选项-f用于指定脚本的名 ...

  6. 三大文本处理工具grep、sed及awk的简单介绍

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...

  7. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  8. sed和awk最佳入门教程

    文档<sed和awk最佳入门教程>——摘自<实战linux shell编程与服务器管理>,简单易懂,适合初学者. 下载地址:http://download.csdn.net/d ...

  9. grep、sed、awk、perl、js、vim等对正则表达式的支持的差别

    grep.sed.awk.perl等对正则表达式的支持的差别 grep 2.5.1 egrep 2.5.1 sed 3.02 sed 4.07 awk 3.1.1 perl 5.8.0 vim 6.1 ...

  10. 正则、grep、sed、awk

    每次用到正则都要蛋疼一下,索性总结一下在这里. 正则 正則表達式主要分为基础正则和扩展正则.注意,正则和一般命令行输入的命令的通配符不同.正则仅仅使用于支持这样的表示法的工具,如:vi,grep,se ...

随机推荐

  1. [unity基础教程]Unity3D实现动态载入游戏资源(转)

    用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态载入.比方想载入一个大场景的资源,不应该在游戏的開始让用户长时间等待全部资源的载入完成.应该优先载入用户附近的场景资源.在游 ...

  2. SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势

    一.提示(Hint)概述 1为什么引入Hint? Hint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段.那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪 ...

  3. kubernetes容器集群部署Flannel网络

    Overlay Network:覆盖网络,在基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路连接起来. VXLAN:将源数据包封装到UDP中,并使用基础网络的IP/MAC作为外层报文头 ...

  4. jgGrid常用操作--持续更新

    最近有使用到jqGrid框架,有个需求是单击某个字段,比如name,然后把id带过去执行一个function,网上有说用线获取选中行,然后再得到id的方法,此方法经实验,必须要先选中才行,在用户没有进 ...

  5. Java8 新增BASE64加解密API

    什么是Base64编码? Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法 基于64个字符A-Z,a-z,0-9,+,/ ...

  6. 案例:使用xml存储数据

    HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. postmortem报告【第二组】

    一.alpha阶段的经验教训 1.针对 进度规划不到位,任务完成速度慢 的问题,引入teambition规范任务管理,每周组会验收上一周任务,发布下一周任务,对各组员是否完成任务以及完成质量进行评价. ...

  8. Codeforces 1101D 点分治

    题意:有一颗树,每个点有一个点权,边权都是1,问路径上的所有点的gcd不是1的最长路径是多少? 思路:之前补这道题的时候,用分解质因数 + 树形DP做的,其实用点分治可以更暴力一点.对于这类统计树上路 ...

  9. memcache、mongodb、redis的对比区别

    >>Memcached Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key.value的字节大小以及服务器硬件性能,日常环境 ...

  10. SurfaceView的基本使用(转)

    转自:https://www.cnblogs.com/zhangyingai/p/7087371.html SurfaceView的基本使用   一.引入: Android提供了View来进行绘图处理 ...