六周第二次课(1月16日)

9.4/9.5 sed

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

六周第二次课(1月16日)_linux

set -n "/root/"p

六周第二次课(1月16日)_51CTO_02

set -nr          r 脱义

六周第二次课(1月16日)_51博客_03

| * {}

六周第二次课(1月16日)_51博客_04

set -n "2,5" 第2-5行,                                                   不指定范围就是全部

六周第二次课(1月16日)_51博客_05

set -n "25,$"   25至末

六周第二次课(1月16日)_linux_06

sed -e "1"p -e "/bus/"p -n test 打印第一行并且匹配bus

六周第二次课(1月16日)_linux_07

六周第二次课(1月16日)_51博客_08

set -n "/bus/"Ip  匹配大写

六周第二次课(1月16日)_51CTO_09


sed -d  打印去除了1-25行的剩余文件内容

六周第二次课(1月16日)_51博客_10

sed -i 删除了前25行

六周第二次课(1月16日)_linux_11

删除user2相关行

六周第二次课(1月16日)_51博客_12

sed 操作了前10行查找替换

六周第二次课(1月16日)_linux_13

+未脱义

六周第二次课(1月16日)_51CTO_14

六周第二次课(1月16日)_linux_15

每一行的第一段和最后一段替换位置  下面的命令:是作为这个文件的查找定位标识。前面用()括起来的 后面用数字去替代他

六周第二次课(1月16日)_linux_16


六周第二次课(1月16日)_51CTO_17

六周第二次课(1月16日)_linux_18


删除 实际是替换为空

六周第二次课(1月16日)_linux_19


在所有行前面加上aaa:            

六周第二次课(1月16日)_linux_20