本人已经此系列的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. centos7安装kubeadm

    安装配置docker v1.9.0版本推荐使用docker v1.12, v1.11, v1.13, 17.03也可以使用,再高版本的docker可能无法正常使用. 测试发现17.09无法正常使用,不 ...

  2. jQuery-day01-介绍 和 选择器获取元素

    1 ,jQuery介绍 1.1,jquery的介绍,javascript库的关系.体验jquery.把js兼容性代码封装在jquery.js中,本身就是一个javascript库. 1.2,jQuer ...

  3. postgrel执行VACUUM报VACUUM cannot run inside a transaction block

    在python脚本里执行: sql_gp1 = "VACUUM dwd_access_record_inout_temp" sql_gp2 = "delete from ...

  4. ES5 常用 语法(object Arrary 函数绑定this指向)

    ES object 扩展 ES object 扩展1. <!DOCTYPE html> <html> <head> <link rel="short ...

  5. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  6. 在ASP.NET Core中使用brotli压缩

    Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比.据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZ ...

  7. 【二代示波器教程】第14章 uCOS-III操作系统版本二代示波器实现

    第14章      uCOS-III操作系统版本二代示波器实现 本章教程为大家讲解uCOS-III操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任 ...

  8. Java实现递增数组的二分查找

    package com.algorithm; import java.util.ArrayList;import java.util.List; /** * 类功能描述: * * @author Ba ...

  9. FFmpeg 结构体学习(四): AVFrame 分析

    在上文FFmpeg 结构体学习(三): AVPacket 分析我们学习了AVPacket结构体的相关内容.本文,我们将讲述一下AVFrame. AVFrame是包含码流参数较多的结构体.下面我们来分析 ...

  10. SUSE12Sp3安装配置.net core 生产环境-总汇(持续更新中...)

    最近正在使用SUSE系统,项目环境是没有外网的,所以提供的基本都是离线安装,对应的安装包可能需要自行去下载,我这边就不整理了. 网上查找SUSE的资料比较少,于是整理了一下,希望对有需要的人有一点点帮 ...