第7章 sed、gawk介绍与正则表达式-----------(sed编辑器简单使用)
来源:互联网 发布:w3c php手册下载 编辑:程序博客网 时间:2024/05/18 00:58
第7章 sed、gawk介绍与正则表达式
7.1sed编辑器
sed编辑器称为流编辑器(stream editor),与普通的交互式文本编辑器相对应。在交互式文本编辑器中,可以交互式地使用键盘命令插入、删除、或者替换数据中的文本。流编辑器将根据在编辑器处理数据之前事先提供的规则集编辑数据流。
sed编辑器可以根据输入命令行的命令或者存储在命令文本文件中的命令处理数据。它每次从输入读取一行数据,将该数据与所提供的编辑器命令进行匹配,根据命令修改数据流中的数据,然后将新数据输出到STDOUT。在流编辑器将全部命令和一行数据匹配匹配完之后,它读取下一行数据,并重复上述过程。处理完数据流中的全部数据行之后,流编辑器停止。
由于是按顺序逐行应用命令,所以sed编辑器进行编辑仅需浏览数据流一次。这使得sed编辑器比交互式编辑器要快很多,因此可以动态快速修改文件中的数据。使用sed命令的格式是:sed options script file
options参数允许自定义sed命令的行为,它包含的选项如下:
script参数指定要应用于流数据的单个命令。如果需要多个命令,就必须使用-e选项在命令行中指定,或者使用-f选项在单独的文件总指定。处理数据可用的命令很多。
7.1.1在命令行中定义编辑器命令
默认情况下,sed编辑器将指定的命令应用于STDIN输入流。这就允许将数据直接管道传送给sed编辑器处理。那面使用s命令进行文本替换:
sed命令执行与返回数据几乎同时进行。它处理每一行数据的同时就显示结果。在sed编辑器结束处理整个文件之前,就可以看到结果。
PPAP内容:
Pen pineapple Apple Penpineapple penPen pineapple Apple Penpineapple penPen pineapple Apple Penpineapple penPen pineapple Apple Penpineapple penApplePen Apple Apple ApplePen ApplePenApplePen Apple ApplePen pineapple Apple Penpineapple penApplePen Apple Apple ApplePen Apple AppleApplePen Apple ApplePen pineapple Apple Penpineapple penPen pineapple Apple Penpineapple pen
sed编辑器并不修改文本文件中的数据。它只将修改后的文本发送到STDOUT。原文件中的数据没有做修改,依然是原数据。
7.1.2在命令行中使用多个编辑器命令
要从sed命令行执行多个命令,只需要使用-e选项:
两个命令将同时应用于文件中的每一行数据。命令必须用分号隔开,且在命令结尾和分号之间不能有任何空格。
在bash shell中,可以使用次提示符,而不是分号分隔命令。只需输入前单引号打开脚本,bash将继续提示输入更多的命令,直到输入后单引号:
必须记住:要在后单引号出现的同一行上完成该命令,因为bash检测后引号之后,就处理命令。一旦开始,sed命令就会将指定的每一个命令应用文本文件中每一行数据。
7.1.3从文件读取编辑器命令
如果 有太多的sed命令要处理,那么将它们保存在一个独立的文件中,然后在sed命令中使用-f选项指定文件通常更方便。
replace文件:
s/Apple/Banana/s/Pen/Oriange/s/pineapple/applepine/
这种情况,不需要在每个命令后放一个分号。sed编辑器知道一行包含单独一个命令。同在命令行输入命令完全一样,sed编辑器从指定的文件读取并将它们应用于数据文件中的每一行。
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器简单使用)
- 第7章 sed、gawk介绍与正则表达式-----------(gawk编辑器简单使用)
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- 第7章 sed、gawk介绍与正则表达式-----------(正则表达式定义与类型)
- 第7章 sed、gawk介绍与正则表达式-----------(定义基本正则表达式(BRE)模式)
- 第7章 sed、gawk介绍与正则表达式-----------(扩展的正则表达式)
- sed与gawk
- 第19章 初始sed和gawk
- sed简单使用介绍
- Linux 编辑器(四)--gawk与sed
- sed & gawk
- shell、gawk、sed使用散记
- 正则表达式与grep、sed
- sed行编辑器使用介绍
- sed编辑器简单使用(1)
- shell编程之sed编辑器&gawk程序
- 正则表达式Sed
- sed中的正则表达式
- iOS的Cocoa 及NS框架
- 数据库协作运维大势所趋
- php数据库操作-创建库和表以及插入数据
- 重定向 和 转发 的问题
- ORA-39127: unexpected error from call to "WMSYS"."LT_EXPORT_PKG"."SCHEMA_INFO_EXP"
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器简单使用)
- Hadoop到底是什么?
- Leetcode 333. Largest BST Subtree (Medium) (cpp)
- 10分钟教会你Mac上搭建Web服务器
- Spring学习之旅(八) Spring Security的使用
- java中设计模式-Strategy(策略模式)
- 个别操作需要有相应的声音提醒,
- Linux 下安装PHP+Apache+Mysql 手记
- 你们怎么看?"网站运营"