一、sed(stream editor)
sed可以根据输入的命令行的命令一行一行地处理数据,它每次从输入读取一行数据,将该行数据与所提供的命令进行匹配,根据命令修改数据流中的数据,然后将新数据输入到STDOUT。
sed命令选项
选项 | 描述 |
-e script | 将脚本中指定的命令添加到处理输入时执行的命令中 |
-f file | 将文件中指定的命令添加到处理输入时的命令中 |
-n | 不需要为每个命令产生输出,但要等待打印命令 |
二、sed中使用地址
sed ‘[address]command’
多个命令的组合:
sed ‘[address] {
command1
command2
command3
} ‘
寻址方式:
*行的数值范围
*筛选行的文本模式
1.数字式行寻址
$表示文本的结束
2.使用文本模式筛选器
sed ‘/pattern/command’
三、基本sed指令
1.替换(s)
格式:sed ‘s/pattern/replacement/flags’
flags有四种:
* 数字:指定替换文本中的第几个实例
* g:全文替换
* p:打印原始行的内容
* w file :将替换的结果写入file
2.删除(d)
sed ‘[address]d’
3.打印
打印文本行:sed ‘[address]p’
打印行号:sed ‘=’
列出行:sed ‘l’(包括可打印的和不可打印的字符,使用八进制显示)
4.插入(i)、附加(a)和更改(c)
sed ‘[address] command'/
new line’
5.转换(y)(对单个字符进行操作)
sed ‘[address]y/inchars/outchars/’
inchars和outchars的长度要相同,inchars的第n个字符和outchars的第n个字符相对应。
四、sed中使用文件
1.写文件
sed ’[address]w filename’
2.从文件中读数据
sed ’[address] r filename'