sed 命令中替换值为shell变量

2024-05-12 01:38

本文主要是介绍sed 命令中替换值为shell变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • sed 命令中替换值为shell变量
    • 替换基本语法
    • sed 中替换使用shell 变量
    • 总结
    • 参考文档

sed 命令中替换值为shell变量

替换基本语法

大家都是 sed 有很多用法,最多就应该是替换一些值了。让我们先回忆 sed的替换语法。

在sed 进行 替换的时候

sed -i  's/old/new/g'  1.txt 
echo "hello old frank" |sed 's/old/new/g'

结果 如下:

hello new frank

sed 中替换使用shell 变量

如果 我new 是一个 shell变量 , 而我想把 old 替换成 new 变量对应的值

export new=goodecho "hello old frank" |sed 's/old/${new}/g'

结果发现 并没有正常替换, new 变量没有被正常的解析出来,而是 ${new} 当成了一个要替换的值。

hello ${new} frank

如果想把 new 换成一个 shell 一个变量

export new=goodecho "hello old frank" |sed "s/old/${new}/g"

结果如下:

hello good frank

可以看出 成功替换了。

sed 中 单引号,双引号 是有区别的.

感觉单引号并不能 解析 shell中的变量,需要用双引号才能解析。从上面的例子可以看出来。

经过 查阅一些资料

其实 用单引号也是可以的

要在 需要 修改变量的地方 放一对双引号,然后在双引号"外面 在加一对单引号'

例如下面的写法:

export new=goodecho "hello old frank" |sed 's/old/'"${new}"'/g'

总结

​ Linux中 有很多有趣好玩的命令,sed 就是其中一个,作为使用Linux 的老手,今天 被这个小问题,绊了一跤,以后还是多多总结,千万不要忽略一些小的细节。 所以 以后在 sed 中 替换使用双引号比较好,毕竟 这样写比较简单,也清晰一点。 如果替换的值就是普通的值,单引号或者说引号都是可以的。如果要替换的值为 shell 变量的值,则使用双引号 更好一些吧。

参考文档

linux中sed中用s 替换中遇到的问题

分享快乐,留住感动. 2020-04-29 22:53:24 --frank

这篇关于sed 命令中替换值为shell变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981245

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ