-shell脚本编程-sed-03
指令:
P: 输出
d: 删除
1.删除文件最后一行
#sed '/$/d' test.txt
2.删除文件的空行:
#sed '/^$/d' test.txt
s = 替换
语法结构:
1. sed 's/old/new/' test.txt
//替换第一个匹配到的old
2. sed 's/old/new/g' test.txt
//替换所有匹配到的old
3. sed 's/old/new/2' test.txt
//替换每行匹配到的第2个
替换实现删除的效果:
1. sed 's/old/2' test.txt
//删除匹配到每行的第二个
2.sed -n 's/old/new/p' test.txt
//打印替换之后的结果
案例演示: s指令
1.将test. txt 中每行第三个xml替换为XML
# sed ’ s/ xml/XM1/3 ’ test. txt
2.将test . txt 中每行的xm1删除
sed ’ s/xm1//g’ test. txt
3.将每行的/bin/bash替换为/bin
sed ‘s#/ bin/ bash#/bin/ sh# ’
//s替换中的条件/是一个分隔符,分隔符可以替换为#、$、%等,
为了便于文件修改
4.将第4~7行加上注释 (每行开头加上#号)
sed ‘4, 7s/^/#/’ test . txt
5.将以#an开头的注释去掉 (去掉每行开头的#号)
sed 's/ ^#an/ an/ ’ test. txt
6.删除文件中每行的第二个字符,最后一个字符(两次操作,需要分号;隔开)
#sed ‘s/.//2;s/.$//’ test.txt
7.将文件中每行的第一个和最后一个字符进行互换:
#sed ‘s/^(.)(.*)(.)$/\3\2\1/’ test.txt
//-r选项是用来支持扩展正则的