最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天微动态丨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 字符串的行上方增加 hised -i "/hello/i\\hi" 路径

4.打印包含某字符串的行

sed -n "/字符串/p" 路径

关键词: 进行替换 进行修改 打开文件