本文首先以一个简单的sed命令应用示例,说明如何使用sed命令进行文本处理,接着从sed命令的用法、工作原理、行地址模式以及sed命令支持的脚本命令详细介绍sed命令的用法。一个完整的sed命令使用简单示例现在有一个待处理文件test.txt,文件中包含一系列的位图数据1和0,它们位于<Figure Begin>和<Figure End>之间,需要将它们写入一个单独的文件,并使用.FG <insert figure here> .FE替换着部分内容。替换输入文件中的<para> 标识为.LP并删除其下的空行。最后,删除输入文件中的所有空行。处理文件内容如下:cat test.txt
- <para>
-
-
- This is a test paragraph.
-
-
- <Figure Begin>
-
-
- 111111111111111101000000000000000000000000000000111111111111111111100000000
- 000000000000000000000000000000000001111111111111111111111111111111111111111
- 11111111111111111110000000000000000000
-
-
- <Figure End>
-
-
- <para>
-
-
- MOre lines of text to be found after the figure.
- These lines should print.
sed脚本命令内容及解释如下:cat sedscr
- /<para>/{
- N #读入下一行,因为下一行为空行,
- c #使用下面的内容替换模式空间中的内容,之所以使用N命令,也是想把<para>下面的空行删除
- .LP
- }
- /<Figure Begin>/,/<Figure End>/{ #匹配<Figure Begin>到<Figure End>行之间的内容
- w fig.test #将这部分中的当前模式空间中的内容写入文件fig.test中,因为sed命令式按行读取文件内容的
- /<Figure End>/i #在<Figure End>行前插入下面的内容
- .FG
- <inset figure here>
- .FE
- d #删除匹配的行,即删除模式空间中的内容,这样模式空间中的这部分内容不会被输出
- }
- /^$/d #删除所有空行
sed脚本执行命令:sed -f sedscr test.txt
sed脚本执行完成后输出内容如下:
- .LP
- This is a test paragraph.
- .FG
- <inset figure here>
- .FE
- .LP
- MOre lines of text to be found after the figure.
- These lines should print.
上面简单演示了一个使用sed命令的实际例子,初学时看不懂没有关系,只需知道大概是这么个流程,然后下面会详细的解释sed命令的用法。
Linux CentOS以root身份登录密码忘记解决方法VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT方式)相关资讯 Linux命令 sed Sed命令
- 48 字节命令可令 Linux 系统当机! (今 07:55)
- LFCS 系列第一讲:如何在 Linux 上 (03月28日)
- 在Linux笔记本上执行这句命令能致 (02月02日)
| - Linux常用命令之sed (09月09日)
- 运维工程师必会的109个Linux命令 (03月09日)
- Linux 管理员都应该会的命令:sed (01月13日)
|
本文评论 查看全部评论 (0)