简介:
sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出或者使用直接编辑文件选项-i。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
sed 命令格式为:
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
sed 常用命令:
1.替换操作:s命令
替换文本中的字符串:
sed 's/abc/ABC/' file_input #若想要进行全局替换:sed's/abc/ABC/g' file_input
2.删除插入操作:di命令
sed '/^test/' d file #删除文件中所有以test开头的行
sed '2,$d' file #删除文件从第二行到末尾的所有行
sed '/^$/d' file #删除文件中所有的空白行
3.标记以匹配字符串:&
sed 's/^abc/&def' file #所有以abc开头的行都会被替换成它自己加def
4.多点编辑:e命令
sed -e '1,3d' -e 's/abc/def/' file #-e选项允许在同一行里执行多条命令
5.写入文件:w命令
sed -n '/abc/w file1' file2 #在file2中,所有包含abc的行都被写入file1
6.打印奇数行偶数行
example1:sed -n 'p;n' file #打印奇数行
sed -n 'n;p' file #打印偶数行
example2:sed '1~2p' file #打印奇数行
sed '2~2p' file #打印偶数行