sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,会输出到屏幕上,除非加特定参数,才会该表文件内容


sed  's/nologin/hello/g' passwd  全局替换           /被替换者/替换者/  这里的/可以用用任意字符去替代,例如###   %%%

sed '10s/nologin/hello/g' passwd 表示替换第10行


sed '10,19s/nologin/hello/g' passwd 替换第10行到第19行


nl passwd | sed 's/nologin/hello/gi'         i 表示忽略大小写


nl passwd | sed '/apache/s/nologin/hello/gi' 表示只替换含有apache 的行


sed -i '3s/nologin/hello/g'   passwd    -i 表示修改文件内容


sed -n '3p' passwd        表示只打印第三行


sed '3,/opeator/d'     passwd 表示从第三行开始直到出现opeator 为止,这里的d换成a+字符串,表示加到从第三行开始直到出现opeator为止,如果要加到该行之前,需要把a换成i


sed 3,10d passwd 三处第三到第十行


sed     '2r     1.txt'     passwd 把1.txt中中的前两行读到passwd中


sed '2w 1.txt' passwd     把passwd的第2行写到1.txt中


sed '1,4c tmp' passwd 把passwd中1到4行改为tmp


sed 脚本


#!/bin/sed -f

3a \

hello world \ 换行的时候需要添加\

nihao

./sed.sh passwd执行

表示在passwd的第三行添加

hello world

nihao


sed  -e  '/TPv4LL/d'  -e '/apache/d'     passwd     -e表示执行多条命令

 


注:nl passwd  和 cat -n passwd 都是查看文件内容并显示行号