sed命令的使用(替换)

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' 路径

5.删除某文件中后1000行的数据

sed -i '2,1000d' 文件路径

posted @ 2023-02-27 15:54  by1314  阅读(1934)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end