sed 命令使用场景
当你经历下面场景的时候你应该学会使用
现在有多个文件,要对文件中同样的内容进行替换,要替换称相同的内容。一个一个打开文件从而进行修改,这个方法可以但是工作起来效率太慢了由此我们引出sed命令
sed是面向行处理的操作系统命令
参数概览
1. sed 常用选项
-e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项
-f:后跟保存了sed指令的文件
-i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改
-n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行
sed中的编辑命令:
a:追加 向匹配行后面插入内容
c:更改 更改匹配行的内容
i:插入 向匹配行前插入内容
d:删除 删除匹配的内容
s:替换 替换掉匹配的内容
p:打印 打印出匹配的内容,通常与-n选项和用
sed 命令使用语法
sed 【command】 【filename】
1.sed s的替换使用
-
替换文本中所有匹配的字符串内容:
sed 's/文本中内容/你要替换掉的内容/g' 文件名
- g是对文本中所有匹配到的内容进行替换,如果没有 g,则只会在第一次匹配成功时做替换操作
-
替换掉文本中每行第7次出现的字符串:
sed 's/文本中内容/你要替换掉的内容/7' 文件名
-
输出替换某字符串所在的行:
sed -n 's/test/trial/p' 文件名
-
指定行的指定字符串进行替换:
sed '13,14s/文本中内容/你要替换掉的内容' 文件名
- 这里是13行到14行进行替换
-
包含某字符串的行中的o替换成O:
sed '某字符串/s/o/O/g' 文件名
2. sed s的注释使用
-
在每行的行首加#进行注释:
sed 's/^/#' 文件名
-
对包含某字符串的行加上#进行注释:
sed '/字符串/s/^/#' 文件名
-
在每行的行末加上字符串:
sed '/s/$/字符串' 文件名
3.使用sed在文件的某一行上插入
在文件中包含 hello 字符串的行上方增加 hi
sed -i '/hello/i\\hi' 路径
4.打印包含某字符串的行
sed -n '/字符串/p' 路径