sed是一种数据流编辑器、行操作编辑器(vi属于全屏编辑器),只能操作纯ascii码的文本。它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。sed命令默认不修改原文件,如要修改可加选项-i。本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
[sed命令的选项options]
-n:静默模式,不再显示模式空间的内容。sed -n '/^a/p' c.txt 只显示a开头的,不加-n的话会重复结果行
-i:则直接修改原文件
-e:让多个操作同时进行,-e 命令 -e命令 同时执行多个脚本
-f:把脚本写到文件里,读取出来匹配 sed -f /path/to/script file.将脚本每行读出来应用。
-r:默认-r,表示使用扩展正则表达式。本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
[sed命令项]本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
d命令:删除符合条件的行。sed '1,34d' c.txt 删除1-34行,
p命令:显示符合条件的行。sed -n '1,3p' /etc/passwd 读取1-3行
a命令:在指定的行后面加上一个新行。追加方式 \string: 两行sed '/^a/a\aaaaaaaaa\nbbbbbbb' c.txt
i命令:在指定的行前中加上新行。
r命令:r FILE:将指定文件和内容添加至符合条件的行处。sed '2r a.txt' c.txt在第2行追加一个文件
w命令:将指定范围的行另存至文件:sed '/^root/w a.txt' c.txt
s命令:/pattern/string/修饰符: 查找并替换。sed 's/^s/#s/' a.txt 默认只替换每行第一次匹配的
修饰符:g全局替换,i忽略大小写。
s可以随便指定分隔符(默认的分隔符是'/'斜线); 如 sed 's%root%ROOT%' c.txt本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
[sed其它]本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
地址指定:
1,行数指定:1,30 指定行sed -n '1p' c.txt ;最后一行:sed -n '$p' c.txt;其它$-1 sed -n '1,+2p' c.txt;
2,使用模式:/^root/ 使用正则表达式 sed '/root/d' c.txt
3,模式范围:/pattern1/,/pattern2/ 表示第一次被p1匹配到的行到第一次p2匹配行。本文地址:http://www.04007.cn/article/277.html,未经许可,不得转载.
后向引用:sed 's/\(r..t\)/\1er/' b.txt; sed 's/r\(..t\)/R\1/' b.txt此时只能用后向引用。
本文地址:http://www.04007.cn/article/277.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |