sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。
处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”( oattern space)linux命令,接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。
接着理下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入的命令,将内容更新。
-ffs fs指定输入分隔符,fs可以是字符串或正则表达式linux命令,如-f:。用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/value.replace(/[w]/g,””)“onbeforepaste=”clipboarddata.setdata(’text’,clipboarddata.getda。用正则表达式限制只能输入数字:onkeyup=”value=”/blog/value.replace(/["^d] /g,”)“onbeforepaste=“clipboarddata.setdata(’text’,clipboarddata.getdata(’text’).replace(/[^d]/g,”))”。
命令 功能 a\ 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行 c\ 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用"\"续行 i\ 在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行 d 删除行 h 把模式空间里的内容复制到暂存缓冲区 H 把模式空间里的内容追加到暂存缓冲区 g 把暂存缓冲区里的内容复制到模式空间,覆盖原有的内容 G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理 q 结束或退出sed r 从文件中读取输入行 ! 对所选行以外的所有行应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 将所选的行写入文件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另一字符(不能对正则表达式使用y命令)
p==print d:delete =:打印匹配行的行号 -n 取消默认的完整输出,只要需要的 -e 允许多项编辑 -i 修改文件内容 -r 不需要转义
注意:& 符号在sed命令中代表上次匹配的结果
sed擅长行输出,附源文件:
hhh pts/1 192.168.25.1 Sat Jun 30 22:04 still logged in reboot system boot 2.6.32-358.el6.i Sat Jun 30 22:04 - 22:43 (00:38) omc pts/0 192.168.25.1 Sat Jun 30 20:16 - down (00:00) reboot system boot 2.6.32-358.el6.i Sat Jun 30 19:38 - 20:16 (00:37) root pts/1 192.168.25.1 Sat Jun 30 12:20 - down (00:55) root pts/0 192.168.25.1 Sat Jun 30 11:53 - down (01:22) reboot system boot 2.6.32-358.el6.i Sat Jun 30 11:52 - 13:15 (01:23) root pts/0 192.168.25.1 Sat Jun 30 05:40 - down (02:51) reboot system boot 2.6.32-358.el6.i Sat Jun 30 05:38 - 08:32 (02:54) root pts/0 192.168.25.1 Fri Jun 29 21:01 - down (06:21) wtmp begins Tue Jun 9 03:57:56 2015
上一个教程:linux常用命令:ip 命令