linux sed命令:sed替换命令使用环境变量,且环境变量中有文件分隔符时,sed命令不work (unknown option to s)

GitHub Actions集成Makefile实现CI/CD自动化 Makefile作为经典的声明式构建工具,通过目标依赖、变量参数和跨平台兼容性,为CI/CD流程提供可复用、可调试、环境一致的底层执行逻辑;GitHub Actions则作为事件驱动的云原生编排引擎,负责触发时机与运行时隔离;二者结合,本质是将构建逻辑下沉至开发本地可验证的Makefile中,使CI脚本退化为轻量调用层,显著提升自动化可靠性与团队协作效率;适用于多语言项目、Monorepo治理及安全合规场景下的标准化交付。 阅读详情

问题:sed替换命令使用环境变量,且环境变量中有文件分隔符时,sed命令不work

linux中sed命令可以做文本替换。
比如:

echo aaaccc111 | sed 's/aaa/bbb/g' 命令可以替换aaa为bbb, 输出结果为 bbbccc111

但是当使用环境变量时,命令会不太work。
比如

# 需要将一个文件中的 $currinterface 替换为目标环境变量  $interface
# 且环境变量是复杂的字符,且包括/文件分割符时,这个就不work了。
currinterface="interface = internal/10.1.51.221;external/10.1"
interface="interface = internal/10.1.51.221;external/10.1.51.221!101.43.111.111"

# 当执行sed命令时
echo  abcdefg123456 | sed "s/1/$(echo $interface)/g"
sed: -e expression #1, char 28: unknown option to `s'

# 会报错 unknown option to s

解决方案:

需要使用 | 替换为 / ; 另外使用双引号 "" ; 最后是使用新的方式获取环境变量 $(echo $interface)

echo "interface = internal/10.1.51.221;external/10.1aaaaa" | sed "s|$(echo $currinterface)|$(echo $interface)|g"

# 输出为
interface = internal/10.1.51.221;external/10.1.51.221!101.43.111.111aaaaa

linux sed命令使用详解 阅读详情

相关推荐

linux centos7 centos8 Rocky8.8 Rocky9.2 sed错误sed: -e expression #1, unknown option to `s‘解决办法

【代码】linux centos7 centos8 Rocky8.8 Rocky9.2 sed错误sed: -e expression #1, unknown option to `s'解决办法。

夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远. 1063

linux sed -i 命令

Linux sed命令是利用script来处理文本文件。 (一)、选项参数 sed -i function -i :直接修改读取的文件内容,而不是输出到终端。 动作说明: [n1[,n2]]function n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』 func...

上善若水 2万+

从零理解域随机化:通过Isaac Lab的events.py掌握Sim-to-Real关键技术

本文深入解析域随机化技术如何通过Isaac Lab的events.py实现Sim-to-Real迁移,提升机器人策略在真实世界的鲁棒性。从刚体属性到环境条件的系统级随机化,详细介绍了工程实践中的关键参数配置与调试技巧,帮助开发者有效缩小仿真与现实的差距。

weixin_29062613的博客 260

linux sed命令 -i,Linux sed命令

sed修改文件中的内容sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 文件所在目录`(千万注意这个符号,是最左上角那个符号不是单引号)eg:修改php.ini中的register_globals = On为Offsed -i "s/register_globals = On/register_globals = Off/g" `grep "register_gl...

weixin_36028920的博客 4468

【白话系列】倍增算法

【序言】         我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标就惯性移到右上角的符号语言,所以我想用最形象的方式来纪念它。 【一】         从前,有一只可爱得不得了的小白兔,它想从

JarjingX 3万+

Jacobi正交多项式在数值分析中的应用与实现

本文深入探讨了Jacobi正交多项式在数值分析中的核心应用与实现。作为最通用的正交多项式族,Jacobi多项式通过参数α和β的调节,可退化为切比雪夫、勒让德等经典多项式,为函数逼近、奇异积分和微分方程求解提供了统一框架。文章重点解析了其在加权高斯积分(高斯-雅可比积分)和谱方法求解微分方程中的关键作用,并提供了基于递归关系和SciPy的稳定高效实现方案,帮助读者掌握这一强大的数值计算工具。

weixin_29306011的博客 245

Bash history深度解析:从命令记录到运维证据链

Bash history 是 Linux Shell 中用于存储和管理命令执行历史的核心机制,其本质并非简单日志,而是具备时间索引、内存缓冲与磁盘持久化三层结构的命令级数据库。它通过 HISTSIZE 控制会话内缓存容量,HISTFILESIZE 约束磁盘文件长度,并依赖 PROMPT_COMMAND + history -a 实现实时同步,从而保障操作可追溯性。结合 HISTTIMEFORMAT 启用时间戳后,history 升级为带时间坐标的故障复盘工具,广泛应用于 VPS 运维、Docker 排查、C

weixin_33795093的博客 367

从原理到代码:拆解UniFormer中动态位置嵌入(DPE)的3D卷积实现

本文深入解析了UniFormer模型中动态位置嵌入(DPE)模块的3D卷积实现原理与代码。DPE通过一个轻量的3D深度可分离卷积,替代传统静态位置编码,使模型能自动学习视频数据的时空位置关系。文章对比了其与Swin Transformer相对位置偏置的优劣,并提供了PyTorch实现代码与高级定制方案,为视频理解任务提供了高效灵活的动态位置编码解决方案。

weixin_29207149的博客 309

MaxEnt命令行工具报错排查指南:编译、格式与运行全解析

最大熵模型(MaxEnt)是经典判别式机器学习方法,其原理基于概率分布的熵最大化约束,广泛应用于小样本NLP任务如古籍标注与方言识别。技术价值在于特征权重直推、内存占用极低、对稀疏数据鲁棒性强。典型应用场景包括命名实体识别、词性标注等轻量级建模需求。然而实际落地常因环境编译兼容性、输入文件格式严苛(如冒号分隔、LF换行、LABEL独占行)及特征哈希溢出等问题失败。本文聚焦AT&T MaxEnt命令行工具的实操排错,覆盖GCC版本适配、macOS Clang链接、glibc兼容、Windows换行符处理、模板

diaoju3333的博客 218

Qt QCustomPlot 图形库详解及使用

QCustomPlot 是一个开源的 Qt C++ 库,专门用于创建数据图表。易于集成到 Qt 项目中。支持多种图表类型,如折线图、散点图、条形图等。提供丰富的交互功能,如缩放、平移、选择和拖动。高度可定制,支持图形的各种样式设置。// 添加第一条曲线i < 101;++i) {// 设置曲线颜色// 添加第二条曲线i < 101;++i) {// 设置曲线颜色// 设置散点样式// 添加图例。

MusicScore的博客 764

借助ChatGPT完成课题申报书中框架思路写作指南

通过这篇文章的学习,我们可以让ChatGPT先为用户匹配研究理论、研究方法、研究思路、研究内容等,为申请人提供一些参考,能够帮助对拟申报课题有一个初步的认识。当申请人找到了合适的理论、方法和问题后,再借助精细化提示词模型提问,那ChatGPT回答的启发性肯定会有质的提升,更具有使用价值。

智能AI让学术科研更容易 2468

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

Autosar诊断实战系列02-Dem(DTC&Event)要点及配置开发详解

Dem模块及其与Dcm等其他模块的交互是整个诊断Stack的重中之重,本文先对与其他模块的交互逻辑进行介绍,有一定掌握后继续重点介绍配置部分的开发。

initiallizer的博客 3331

OpenHuman Linux AppImage 启动修复:sharun `lib.path` 规范化、fail-closed 校验与发布前运行冒烟测试

> 一份针对 OpenHuman 桌面端 Linux 发布流水线的技术实战记录。它围绕 2026-07-24 的实现计划文档展开,讲解 sharun 启动器 `shared/lib/lib.path` 的语法契约、CI 构建机绝对路径如何污染发布产物、如何用「规范化 + 拒绝式校验 + 最终产物冒烟」三层防线把问题挡在签名与上传之前。 ## 导读 OpenHuman 的 Linux 桌面版以

gitblog_00656的博客 363

Claude Code 100个真实案例 - 用AI做数据可视化大屏(ECharts+实时数据)

数据报表看着枯燥?领导汇报缺少视觉冲击力?是时候做一个酷炫的数据可视化大屏了!本案例将用 Claude Code 从零搭建一个实时数据可视化大屏,使用 ECharts 实现折线图、柱状图、饼图、地图、仪表盘等多种图表,配合 WebSocket 实现秒级数据刷新,深色主题科技感拉满!

yueyeguzhuo的专栏 197

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OpenHuman AppImage sharun 库路径修复实战:根治 AppDir 外启动失败(lib.path 归一化 + fail-closed 校验)

OpenHuman 的 Linux AppImage 分发版曾面临一个棘手缺陷:用户把 `.AppImage` 从 `~/Downloads` 或 `/tmp` 等目录直接双击启动时,加载器会报 `anylinux.so` 无法预加载,随后连自带的 `libxdo.so.3` 都解析失败。本文将围绕 [docs/specs/2026-07-24-appimage-sharun-lib-path-d

gitblog_01189的博客 624

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

gemma-4-31B-it-GGUF 实测:31B 本地模型能干掉云端 API 吗?能力评测与适用场景清单

gemma-4-31B-it-GGUF 是谷歌 Gemma 4 系列 310 亿参数(31B)指令模型的 GGUF 量化版本,可以在你自己的电脑上**离线、免费地本地运行**。本文基于仓库内三个量化档位的实测对比,回答一个核心问题:31B 本地模型能不能干掉云端 API?并附上一份完整的适用场景清单,帮你快速判断该不该跑本地。 ## 一、项目是什么:LM Studio 社区量化模型 先说清楚这

gitblog_00290的博客 229

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

sed命令用法

[root@www ~]# sed [-nefr] [动作] 选项与参数: -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e :直接在命令列模式上进行 sed 的动作编辑; -f :直接将 sed 的动作写在一个文件内, ...

bansonglou1485的博客 375

linux sed的详细讲解与使用方法

1简介 sed是一个流编辑器。流编辑器用于对输入流(文件或来自管道的输入)执行基本文本转换。虽然在某些方面类似于允许脚本编辑(例如ed)的编辑器,但 sed通过仅对输入进行一次传递来工作,因此更有效。但是它sed能够在管道中过滤文本,这特别区别于其他类型的编辑器。 2概述 例如,要替换所有出现的’你好’ 至 '世界’在文件中 input.txt中: sed’s / hello / world /'...

a1592588174的博客 9118

4.2_1 Linux Sed命令详解(文本处理工具 - 匹配,替换,添加等)

Linux Sed命令详解(文本处理工具 - 匹配,替换,添加等),优化投产步骤,使用命令批量修改抽数脚本代替逐个vim

GroupiesM的博客 7065

Linux中的sed命令,使用方法之一「替换字符串中的内容 」,以及「s/ / / 」和「s/ / /g」之间的区别

■前言 按照如下写法,可以实现替换字符串的功能 ■具体操作 sed 's/hello/hi/' 321.html 替换对象 hello 替换后,显示的内容 hi 只是在输出的时候,被替换,不会改变原有的文件的内 -- ■应用: 虽然,只是临时改变(不会改变原有文件中的内容), 但是,在shell脚本中,是我们可以把改变后的值,作为变量保存起来,在后续处理中使用 ■更多操作 https://blog.youkuaiyun.com/qq_37931597/article/...

sun0322 4560

linux sed命令_Linux sed命令用法与示例

linux sed命令Sed, short for Stream EDitor, is a command that is used to perform text transformations and manipulations on a file. Some of these transformations include searching and replacing text. With...

从零开始的教程世界 2267

linux sed unknown option to 's',AR# 61877: 2014.2 - PetaLinux - "sed: -e expression #1, char 49: unk...

描述When exiting the PetaLinux menuconfig, the terminal becomes stuck and echoes an infinite loop of messages similar to the following:sed: -e expression #1, char 49: unknown option to `s'sed: -e expres...

weixin_36354131的博客 628

Linux--“sed -i”命令演示

特定字符串的行前插入新行 sed -i '/特定字符串/i 新增字符串' file 特定字符串的行后插入新行 sed -i '/特定字符串/a 新增字符串' file sed -i 直接修改读取的文件内容 sed -i 's/原字符串/新字符串/' /etc/passwd sed -i 's/原字符串/新字符串/g' /etc/passwd ...

qq_40574489的博客 1209

Linux Sed的基本使用

【代码】Linux Sed的基本使用。

运维也不仅仅是运维 370
上一篇: SIP 系统容器化实践
下一篇: PyCharm连接远程服务器上Docker容器,使用远程服务器的python intercepter解释器和GPU资源 [本地调试深度学习代码]
line_aijava
博客等级 码龄16年 31粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值