引言: Sed命令是linux里用于文本行处理的命令. 为了便于说明,我在/usr/dict下创建了字典words并以此作为演示模板 先用nl 打印下words内容: *打印篇: Q1:如何打印某一行数据? 如果要打印第一行数据,则使用: sed –n 1p words 如果要打印最后一行数据,则使用: sed –n ‘$p’ words 注意的是:如果是某个具体的行号,并不需要加引号,如果含’$’等特殊字符或某些模式匹配的时候需要加引号. 你会想,仅仅是能看到头行和结尾行的数据,有什么稀奇的?
sed 默认把文件内容全部显示出来(擅长取行 替换) 参数如下: - n 取消默认输出 一般与P一起使用 查看内容‘10,20p’ 显示10-20 行的内容 - i 修改文件内容 - i.bak 先备份原文件后修改文件内容 - r 扩展正则 a 在行后添加文件内容 sed ‘5a 1234.abc’ oldboy.txt i 在行前添加文件内容 sed ‘5i 1234.abc’ oldboy.txt d 删除 1d 或 1,4d (删除1-4行内容) s 替换 g 标记(全局替换) /要
string editor 流编辑器 sed编辑器是一行一行的处理内容,正在处理的内容存放在缓冲区内,处理完后 按照选项的规定进行输出或者修改文件 option: -n 静默模式结合p可以只输出修改行,读取指定行数 -e 多操作指令 -f 运行脚本 -i 修改文件 -i.bak 修改同时备份.bak文件 -r 使用扩展正则 command: a 追加 i 插入 p 打印 d 删除 r/R 读取文件/一行 w 存档 s 查找 c 替换 y 替换 h/H 复制拷贝/追加缓冲区到存放空间 g/G