从 shell 脚本编辑属性文件中的属性值

2023-11-28

标题说明了一切。我需要将我不知道的属性值替换为不同的值。 我正在尝试这个:

#!/bin/bash
sed -i "s/myprop=[^ ]*/myprop=$newvalue/g" file.properties

i get sed: -e expression #1, char 19: unknown option tos'`

我认为问题在于$newvalue是一个代表目录的字符串,因此它会弄乱 sed。

我能做些什么 ?


如果您的属性文件是用分隔符分隔的=像这样签名——

param1=value1
param2=value2
param3=value3

那么你可以使用awk修改参数值只要知道参数名称。例如,如果我们想修改param2在您的财产文件中,我们可以执行以下操作 -

awk -F"=" '/^param2/{$2="new value";print;next}1' filename > newfile

现在,以上one-liner要求你硬代码参数的新值。如果您在 shell 脚本中使用它并且需要从变量获取新值,则情况可能并非如此。

在这种情况下,您可以执行以下操作 -

awk -F"=" -v newval="$var" '/^param2/{$2=newval;print;next}1' filename > newfile

在此我们创建一个awk多变的newval并使用包含新参数值的脚本变量 ($var) 对其进行初始化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 shell 脚本编辑属性文件中的属性值 的相关文章

随机推荐

  • Istio 授权策略不适用于子网关

    我想要实现的目标 阻止到服务的所有流量 包含在与服务相同的命名空间内处理此问题的代码 Why 这是将特定服务 锁定 到特定 IP CIDR 的第一步 我有一个名为的主要入口 GWistio ingressgateway适用于服务 kubec
  • LINQ 扩展方法不适用于 EnumerableRowCollection

    我有以下代码行 var availableClients Controller ListClientsForCurrentUser as DataTable AsEnumerable 我想利用 LINQ 的扩展方法 MSDN like An
  • C++ 赋值运算符 - 编译器生成还是自定义?

    我有一个中等复杂的 C 类 它保存从光盘读取的一组数据 它包含浮点数 整数和结构的折衷组合 现在已得到普遍使用 在主要代码审查期间 有人问我们是否有自定义赋值运算符 或者我们依赖编译器生成的版本 如果有 我们如何知道它正常工作 好吧 我们没
  • matplotlib 无法在 Windows 10 上加载 ft2font

    我正在使用 Anaconda 5 0 1 和 Python 2 7 14 当我打开 jupyter 笔记本并尝试运行以下命令时 matplotlib inline 我收到以下错误 ImportError Traceback most rec
  • 当一个 ng-repeat 项目被移除时,如何为剩余 ng-repeat 项目的移动设置动画?

    我有一个使用 ng repeat 的动态项目列表 当发生某些事情时 物品可能会消失 我已经使用 ng animate 顺利地处理了这些项目的移除动画 但在它们消失后 剩余的项目只是简单地捕捉到它们的新位置 我怎样才能顺利地制作这个动作的动画
  • VSTS(Azure Devops) 的“ssh -T”身份验证成功,但“git clone”失败

    我最近创建了第二个密钥来访问 Visual Studio Team Services ssh keygen t rsa b 4096 C email protected 所以我现在有两把钥匙 id github id vsts 两个密钥似乎
  • 水平对齐图像 CSS

    我想水平对齐我的三个图像而不是垂直对齐 实现此目的最简单的方法是什么 example div div img src http lilliemcferrin com wp content uploads 2013 09 vivid flow
  • Valgrind 报告一个非常简单的 C 程序的错误

    我正在学习C语言艰难地学习 C 我上线了练习6虽然我可以让它工作 但 valgrind 报告了很多错误 这是从文件中剥离的最小程序ex6 c include
  • 检查 GCM 消息的状态

    我正在尝试使用 GCM 向我的手机发送消息 我收到一条消息 id 0 回复 但我的手机没有显示任何消息 有没有办法检查消息的状态 已发送 等待等 没有 如果您收到 message id xxxx 响应 则 GCM 服务器已接受您的请求并将尽
  • 在 NativeScript 上获取本地 json 文件

    如何获取本地的大json数据 我已经尝试过这个 但没有成功 var sa require shared resources sa json var array new observableArrayModule ObservableArra
  • 如何避免 Globalize3 将属性的回退翻译返回到特定上下文?

    我正在使用 Globalize3 和 easy globalize accesors 进行网站的国际化 本地化 现在我正在调整表单来管理具有可能翻译的字段 假设我有一个名为 Role 的类 class Role translates nam
  • 在 PyDev 中使用鼻子测试进行交互式调试

    我正在使用 PyDev 与 Aptana 一起 来编写和调试 Python Pylons 应用程序 并且我想在调试器中逐步完成测试 是否可以通过 PyDev 启动鼻子测试并在断点处停止 这是我使用 eclipse Pydev 运行鼻子测试的
  • 安装 WSL2 后,Android Studio 模拟器无法在 Windows 11 上运行

    Setup Windows 11 家庭版 21H2 22000 132 AMD 锐龙 5900X WSL2 Android studio 最新版本 也尝试了最新的测试版 问题 一旦我安装 WSL2 模拟器就会停止工作 它给出以下错误消息 C
  • 将 R Markdown 渲染到 MS Word 时页面上的弹性表的对齐方式

    我在定制方面非常幸运flextable我的 R Markdown 文档中的表格 但是 我正在努力更改页面上表格的位置 默认情况下 表格似乎在页面居中 我希望我的一张表格与左边距对齐 我怎么做 我刚刚添加了一个选项来启用它 现在您可以使用 c
  • Python 错误后保持 Windows 控制台打开

    我的机器 winxp home 上的文件关联是直接用python解释器打开python脚本 如果我双击 python 脚本 控制台窗口就会运行 一切都很好 只要脚本中没有语法错误 在这种情况下 控制台窗口会打开一会儿 但会立即关闭 读取错误
  • 查找字符串中子字符串的出现次数

    为什么以下算法不会对我停止 在下面的代码中 str是我正在搜索的字符串 并且findStr是我要查找的字符串出现次数 String str helloslkhellodjladfjhello String findStr hello int
  • scipy.sparse 默认值

    稀疏矩阵格式 dok 假设不在字典中的键的值等于零 有什么办法让它使用除零之外的默认值吗 另外 有没有办法计算稀疏矩阵的对数 类似于常规 numpy 矩阵中的 np log 该功能不是内置的 但如果您确实需要此功能 您应该能够编写自己的功能
  • 使用 javascript 模拟文档上的点击

    是否可以使用 javascript 模拟网页上的点击 但无需定义特定元素 而只是指定文档 我本来想做这样的事情 如果该位置碰巧有一个链接 那么就会按下这个 function simulateClick x y var evt window
  • Spark Streaming中batch间隔、滑动间隔和窗口大小的区别

    我是新火花流 我知道窗口大小需要是批处理间隔的倍数 但滑动区间是如何运作的呢 如果我有 3 作为窗口大小 2 作为滑动间隔 那么当我计算字数时不会有重叠吗 或者滑动间隔和批次间隔应该相同吗 Here是文档的链接 让我们来看看这些概念 批次间
  • 从 shell 脚本编辑属性文件中的属性值

    标题说明了一切 我需要将我不知道的属性值替换为不同的值 我正在尝试这个 bin bash sed i s myprop myprop newvalue g file properties i get sed e expression 1 c