【问题标题】:Replace string in file with string from different file用来自不同文件的字符串替换文件中的字符串
【发布时间】:2021-11-18 09:13:49
【问题描述】:

我想将一系列字符串存储在一个文本文件中,用于替换其他文件中的字符串。

背景是我写了一个 bash 脚本,但是想对文本文件有更大的灵活性,这样你就不用不断地调整脚本了。

例子:

FILE_A.txt
active_name = "THE COMPANY";

这是需要替换字符串的文件

FILE_B.txt
active_name = "THE USER";

我想在 FILE_A.txt 中搜索“active_name =”,但只替换引号中的字符串,仅替换为 FILE_B.txt 中引号中的内容。

期待您的回复!

【问题讨论】:

  • 对于 Unix 工具来说似乎是一件很常见的事情,但它是 awk 的工作,而不是 sed 的工作。你试过什么?

标签: string sed replace


【解决方案1】:

如果这不是您所需要的,那么[编辑]您的问题以提供一个更好的示例,其中包括不适用于以下情况的案例:

$ awk -F'"' -v OFS= 'NR==FNR{new=$2; next} {$2=FS new FS} 1' FILE_B.txt FILE_A.txt
active_name = "THE USER";

【讨论】:

    猜你喜欢
    • 2015-07-31
    • 2017-09-04
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多