sed从入门到深入的使用心得
本人已经此系列的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从入门到深入的使用心得的更多相关文章
- sed从入门到深入修炼目录
sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中 ...
- Sed简单入门实例
1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 ...
- 新手入门学习angular.js的心得体会
看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...
- sed命令入门
什么是sed sed是一种流处理编辑器,可以分割.查找.替换文本. sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空 ...
- sed初理多行合并+sed之G、H、g、h使用+sed n/N使用说明
转载:[shell]sed处理多行合并 - seyjs - 博客园 (cnblogs.com) 文件格式 table=t1 name owner address table=t2 id text co ...
- Linux和Shell回炉复习系列文章总目录
本页内容都是本人回炉Linux时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接右上角叉 ...
- ###Linux基础 - 2
点击查看Evernote原文. #@author: gr #@date: 2014-10-13 #@email: forgerui@gmail.com 一.Linux基础命令2 mount: 挂载U盘 ...
- 《cut命令》-linux命令五分钟系列之十九
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- Linux下cut命令用法
1 一两句话描述一下cut命令吧! 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的. cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期 ...
随机推荐
- Docker-Compose入门
转:https://blog.csdn.net/chinrui/article/details/79155688
- web移动端开发技巧
一.meta的使用 1.<meta name="viewport" content="width=device-width,initial-scale=1.0, m ...
- Super Jumping! Jumping! Jumping! ---HDU - 1087
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. May ...
- 关于css中为什么要设置html和body的高度?
1.在怪异模式下,也就是网页的头部不写DOCTYPE的时候,body作为根元素,设置高度为百分百的时候.可以是页面的高度和浏览高度相同,在标准模式下也就是有DOCTYPE的时候,html才是根元素这时 ...
- Winsock编程基础1
1.加载和释放Winsoke库 //所有Winsock函数都是从WS2_32.DLL导出,包含相应库文件#include <winsock2.h>#pragma comment(lib, ...
- .net core2.1 使用 dynamic 类型报错
在net core2.0项目中使用 dynamic 无法编译通过 异常信息:缺少编译器要求的成员"Microsoft.CSharp.RuntimeBinder.CSharpArgumentI ...
- [Swift]LeetCode30. 与所有单词相关联的字串 | Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...
- [SQL]LeetCode177. 第N高的薪水 | Nth Highest Salary
Write a SQL query to get the nth highest salary from the Employee table. +----+--------+ | Id | Sala ...
- [Swift]LeetCode275. H指数 II | H-Index II
Given an array of citations sorted in ascending order (each citation is a non-negative integer) of a ...
- [Swift]LeetCode561. 数组拆分 I | Array Partition I
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...