一、文本编辑工具sed
Linux之sed命令详解 - zakun - 博客园 (cnblogs.com)
sed 是一个流编辑器,将文件或标准输入的内容作为编辑的对象,对其按照需求进行修改
pattern space 模式空间,是一个缓冲区,sed从输入流中一行一行取出内容放在这个缓冲区中,按照script(脚本)进行处理。
注意:sed 所做的修改并不会直接改变文件的内容(如果是用管道符接收的命令的输出,则连文件都没有),而是把修改结果只显示到屏幕上,除非使用"-i"选项才会直接修改文件。
1、sed两种命令格式:
1)sed的命令格式:
sed [选项] ‘命令’ 文件(s)
2)sed的脚本格式:
sed [选项] -f scriptfile 文件(s)
2、选项
-n: 只打印模式匹配的行
-e: 直接在命令行模式上进行sed动作编辑,一条语句可执行多个sed命令
-i: 直接修改文件内容
-r: 支持扩展正则表达式
-f: 将sed的动作写在一个文件中,用 -f filename 执行filename内的sed动作
--help:显示帮助
--version: 显示版本信息
3、命令
p 打印模板块的行;
d 删除选择的行;
s 替换指定字符串,搭配正则表达式使用;
c 替换,c后面可以接字符串,替换n1,n2 之间的行
a 新增,a后面可以接字符串,加在当前行的下一行
i 插入,i后面可以接字符串,加在当前行的上一行
4、sed用户实例
文本 test.txt,文本内容——
# #/bin/bash
ccc '2008-07-12' hahaha
url="http://roclinux.cn/index.php"
abc xyz abc xyz opq
abc xyz opq
Abc
ask_words="hello world"