首页 > 其他分享 >sed命令的使用(替换)

sed命令的使用(替换)

时间:2023-02-27 16:01:15浏览次数:39  
标签:匹配 文件名 命令 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' 路径

标签:匹配,文件名,命令,sed,内容,字符串,替换
From: https://www.cnblogs.com/BY1314/p/16710139.html

相关文章

  • Java方法:方法的重载、命令行传参、递归
    Java方法:方法的重载、命令行传参、递归方法的重载重载就是在一个类中,有相同的函数名称,但是形参不同的函数。方法重载的规则:方法名称必须相同;参数列表必须不同(个......
  • docker常用命令
    1.查询镜像dockerimages--删除镜像dockerrmiIMAGEID2.查询容器dockerps-a3.停止容器--停止容器dockerstopCONTAINERID--删除容器dockerr......
  • du命令
    du命令显示用于文件的块的数量。如果指定的File参数实际上是一个目录,就要报告该目录内的所有文件。如果没有提供File参数,du命令使用当前目录内的文件。如果File参数是一个......
  • linux基本功系列之uptime命令
    前言......
  • 容器网络调试怎么办?一条命令就搞定!
    nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。它位于util-linux包中。用途一个最典型的用途就是进入容器的网络命令空间。相当多的容器为了轻量级,是......
  • docker常用命令
    一、镜像管理命令1.搜索镜像,建议直接在dockerhub官网搜索会比较直观看到版本dockersearch 镜像名称  2.下载镜像dockerpull镜像名:版本号,如果要下载最新的......
  • windows 渗透测试常用的命令
    windows中渗透测试常用命令ifconfig/all获取获取域名、IP地址、DHCP服务器、网关、MAC地址、主机名nettime/domain查看域名、时间netview/domain查看域内所......
  • 题解:【ABC291F】Teleporter and Closed off
    题目链接给定一个\(n\)个点的图,每个点只向编号最多大于它\(m\)的点连单向边,求不经过\(2\simn\)中的一个点,\(1\ton\)的最短路。注意到\(m\)很小,这里给出两种......
  • rabbitmq的启动命令和springboot整合使用rabbitmq
    环境:windows安装erlang和rabbitmq的过程这里不多说,记得两个的版本要对应。1.启动rabbitmq:进入sbin目录:其中可能报错:则需要终止已经开始的进程(可能是之前启动过)tasklist|......
  • git 命令操作
    Git提交代码gitstatus查看文件状态红色的没有加入缓存区绿色的已经加入缓存区gitadd.把代码加入缓存区gitcommit-m'备注'提交代码并备注gitpull拉取代码g......