# bin替换成demo,\b边界 sed 's#\bbin\b#demo#g'# 只有检测到bin这个单词才能替换成demo # 同 sed 's#\<bin\>#demo#g'# 只有检测到bin这个单词才能替换成demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
动作: sed -n '3p' 文件 sed '3d' 文件 sed 's###g' 文件 模式+动作: 模式:找谁,如何找 sed -n '3p'# 找到第三行,p进行print打印输出 # 将第三行的^root开头的root替换成demo sed '3s#^root#demo#g'test # 1-4行替换 sed '1,4s#root#demo#g'test # 替换adm出现的行替换adm为demo sed '/adm/s#adm#demo#g'test # 区间替换 sed '/adm/,/lp/s#[a-z]# #g'test 例如: sed '/SELINUX\=/#disabled#enforcing#g' /etc/selinux/config
sed追加 插入 替换 后向引用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# i插入 ;vim的O插入模式 sed '3i aaa' test.txt # 插入aaa到第三行(第三行变为aaa,原本的变为第四行)
# a追加 ;vim的o插入模式 sed '3a aaa' test.txt # 插入aaa到第三行的下一行
# c替换 ;vim的C插入模式 sed '3c aaa' test.txt # 第三行被替换成aaa
# w保存 sed -n '4w new.txt' test.txt # 将test.txt的第4行保存到new.txt
# 后向引用 结构:sed s#()()()#\1\2\3#g
sed -r 's#(.*)#\1#g' test.txt # 就是每行处理读取(匹配的)替换为\1调用的(匹配的)字符
sed -r 's#(.*)#\1 nihao#g' test.txt sed -r 's#(.*)#print("\1\\n");#g' test.txt # 给前后添加print("内容\n")