1.sed轻量级流编辑器.sed主要用来将数据进行选取 替换 删除 新增的命令.
sed 选项 '动作' 文件名
选项:
-n 一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕. sed -n '2p' 文件
-e允许对输入数据应用多条sed命令编辑
-i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:用单引号括起来
a\:追加,在当前行后添加一行或多行.添加多行时,除最后一行外,每行末尾需要用"\"代表数据未完结.
c\:行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需要"\"代表数据未完结.
i\:插入,在当前行前插入一行或多行.插入多行时,除最后一行外,每行末尾需要用"\"代表数据未完结.
d:删除,删除指定的行
p:打印,输出指定的行
s:字符替换,用一个字符串替换另外一个字符串.格式为"行范围s/旧字串/新字串/g"(和vim中的替换格式类似)
sed -i "s#rw.sync#rw,sync#g" /etc/exports s#old#new#g用#分割也可以实现
sed -i "s#/data/dc#\$MICRO_PATH#g" restart_node_no_rz.sh 新字符串有$时,$前需加转义符\,需要引用变量时
sed -i "s#rz#rz -be#g" restart_node.sh 给rz命令加上参数-be解决传输大文件中断和出现乱码
sed -i "348,375s#9109#9095#g" restart_node.sh 替换指定行范围中旧内容为新内容
df -h|sed -n '2p'
ID NAME JAVA Linux MySQL Average 2 1 wj 82 95 86 88.66 3 2 zxh 74 96 87 85.66
4 3 Wl 99 83 93 91.66
查看文件第2行 sed -n '2p' student.txt
删除第2行到第四行 sed '2,4d' student.txt
在第2行后追加hello sed '2a hello' student.txt
在第2行前插入sed '2i cangbo' student.txt
替换第2行 sed '2c no person' student.txt
指定替换第3行74换成99 sed '3s/74/99/g' student.txt 需要修改数据时-i
多个条件同时替换 sed sed -e 's/wj//g; s/Wl//g' student.txt