linux - 使用 shell 脚本在配置文件中追加行

标签 linux bash shell sed ubuntu-14.04

<分区>

我有一个 config.js 文件,其中包含以下字符串

.constant('Digin_Engine_API', 'http://local.net:1929/')

我想读取此文件并替换 .constant('Digin_Engine_API' 我尝试使用 sed 但 ddnt 有效。这是我用于 sed 的内容

sed -i 's/^.constant('Digin_Engine_API', .*/http://cloud.lk:8080/' /var/config.js

作为总结,我的最终输出 (config.js) 文件需要包含以下内容。

之前

.constant('Digin_Engine_API', 'http://local.net:1929/')

之后

.constant('Digin_Engine_API', 'http://cloud.lk:8080/')

最佳答案

  • 您需要在 sed 命令周围使用双引号,因为单引号是模式的一部分
  • 您应该使用备用分隔符,因为 / 用于替换
  • 您需要捕获第一部分并将其用于替换
  • 您需要引用替换并添加结尾 )

Sed 命令:

sed -i.bak "s~\(\.constant('Digin_Engine_API', \).*~\1'http://cloud.lk:8080')~" /var/config.js

cat/var/config.js

.constant('Digin_Engine_API', 'http://cloud.lk:8080')

关于linux - 使用 shell 脚本在配置文件中追加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059062/

相关文章:

java - 在linux中启动一个类似服务的jar文件

C++ 将来自 std::cin 的字符串与来自外部 txt 文件的字符串进行比较

bash - 我想使用终端中的转换命令删除白色背景,并且图像不在彩色像素之外

bash - 包含通过函数初始化传递的变量插入 perl 字符串的 bash 变量的函数

c - Linux- copy_to_user 不工作,总是返回缓冲区大小

C: 需要暂停一个进程直到 sigalrm

linux - bash中带空格的回调脚本

shell - shell 中的 let vs expr vs 双括号算术

macos - applescript 不从终端运行

linux - 如何使用 Bash 读取文件中的倒数第二行?