本人已经此系列的sed文章整理到pdf中,欢迎下载:玩透sed:探究sed原理

sed系列文章:
sed修炼系列(一):花拳绣腿之入门篇
sed修炼系列(二):武功心法(info sed翻译+注解)
sed修炼系列(三):sed高级应用之实现窗口滑动技术
sed修炼系列(四):sed中的疑难杂症

说明:

本人对sed的原理和机制做了些深入的研究(理论知识,呵呵),自认算是颇有心得。因此分享几篇sed修炼的文章,从入门到深入。当然,可能不适合完全没接触过sed的纯初学者,建议去网上找几篇sed的用法示例学学,有了基础之后,看这系列的文章想必不会有太大困难。

1.第一篇是入门篇,但却是最重要的一篇。虽然内容不算多,但在里面讲了绝大多数sed的工作机制,在后面几篇里都涉及到其中的概念。如果后面几篇文章有看不懂的术语,比如sed循环、SCRIPT循环、自动输出、回到SCRIPT循环顶部等,请看这篇文章。

2.第二篇是info sed的翻译篇,花了极大的心血,其中加入了很多注解,算是深入篇也算是sed手册。如果想深入sed或者想完全了解sed工作机制,info sed是必看文章,绝对比看《sed & awk》收获大。另外,个人建议,不要阅读man sed文档。

3.第三篇是sed高级应用的一个通用型模板用法说明:窗口滑动。这一篇中是一些很有用的技巧,其内比较详细地介绍了"N""D""P"命令,也涉及了一些保持空间和sed标签跳转的用法。但这些命令本就灵活多变,几篇文章是绝对不可能深入的了的,只能取一些示例说明下,以后如果有时间,会专门开一篇文章收集一些sed高级用法的示例。

4.第四篇是sed中几个常见的疑难杂症解疑篇。内容不多,但真正在使用sed的时候可能很有帮助。例如如何在sed中使用变量,引号怎么加,如何克服贪婪匹配等等。

第一篇文章(sed花拳绣腿入门篇)是最重要的一篇,特别是其第一节和第四节是整个sed的重中之重,是sed的"神",而那些简单的sed用法、示例等等都是sed的"形"。如果是sed初学者,这些"神"的内容可略看一遍,在有了使用sed操作的基础之后,再仔细回头琢磨这些"神"中的每一句话,必能深入sed。此后,再去阅读第二篇文章(sed武功心法)掌握更细节的"形"和"神",最后阅读第三篇文章(sed高级应用)掌握更高级的操作手段,在实现复杂逻辑时往往能事半功倍,最后还可看看第四篇文章(sed中的疑难杂症),在sed出错却不知何解时,这篇文章往往能找到答案。

sed从入门到深入的使用心得的更多相关文章

  1. sed从入门到深入修炼目录

    sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中 ...

  2. Sed简单入门实例

    1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ...

  3. 新手入门学习angular.js的心得体会

    看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...

  4. sed命令入门

    什么是sed sed是一种流处理编辑器,可以分割.查找.替换文本. sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空 ...

  5. sed初理多行合并+sed之G、H、g、h使用+sed n/N使用说明

    转载:[shell]sed处理多行合并 - seyjs - 博客园 (cnblogs.com) 文件格式 table=t1 name owner address table=t2 id text co ...

  6. Linux和Shell回炉复习系列文章总目录

    本页内容都是本人回炉Linux时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接右上角叉 ...

  7. ###Linux基础 - 2

    点击查看Evernote原文. #@author: gr #@date: 2014-10-13 #@email: forgerui@gmail.com 一.Linux基础命令2 mount: 挂载U盘 ...

  8. 《cut命令》-linux命令五分钟系列之十九

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  9. Linux下cut命令用法

    1 一两句话描述一下cut命令吧! 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的. cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期 ...

随机推荐

  1. TypeScript 函数-函数类型

    //指定参数类型 function add(x:number,y:number){ console.log("x:"+x); // reutrn(x+y); } //指定函数类型 ...

  2. margin与padding的bug

    1.在页面布局时,值对于块元素来说,相邻的两个兄弟块元素间的margin-top与上一个兄弟的margin-bottom重合时, 解决办法:对其中一个块元素中设置    display:inline- ...

  3. using Sysyem.Net.Http命名空间引用不了的解决方案

    1.查看.Net Framework的框架是否是在4.5之上,如果不是要下载4.5之上的目标框架. 2.在引用器里面添加using System.Net.Http命名空间 选择项目列表中的“引用”-- ...

  4. myeclipse集成maven

    myeclipse集成maven 打开myeclipse---Window----Preferences---Maven4MyEclipse--Installations----Add,如图所示: 这 ...

  5. vue-cli跳转到新页面的顶部

    我这里有两种方法都是可以用的 1,利用vue-router的默认模式hash,可以记录上一页的位置,如果需要点话,如果没有记录,在进入新页面的时候是返回到新页面的最顶部的 scrollBehavior ...

  6. 推荐一些iOS博客

    公司性质的: 公司 地址 美团 http://tech.meituan.com/archives 个人博客: 博主 地址 (斜体的技术文章较少) 王巍(onevcat) https://onevcat ...

  7. [LeetCode] Rectangle Overlap 矩形重叠

    A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bot ...

  8. Linux服务器之间进行文件目录映射/挂载(总结)

    Linux服务器之间进行文件目录映射/挂载(总结) 需要实现的功能为:将192.168.10.10服务器下的 /home/要映射的目录/ ,映射为192.168.10.90服务器下的 /home/被映 ...

  9. ASP.NET Core Web App应用第三方Bootstrap模板

    引言 作为后端开发来说,前端表示玩不转,我们一般会选择套用一些开源的Bootstrap 模板主题来进行前端设计.那如何套用呢?今天就简单创建一个ASP.NET Core Web MVC 模板项目为例, ...

  10. [编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具

    星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇 ...