用来自不同文件的字符串替换文件中的字符串
Posted
技术标签:
【中文标题】用来自不同文件的字符串替换文件中的字符串【英文标题】: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 的工作。你试过什么? 【参考方案1】:如果这不是您所需要的,那么[编辑]您的问题以提供一个更好的示例,其中包括不适用于以下情况的案例:
$ awk -F'"' -v OFS= 'NR==FNRnew=$2; next $2=FS new FS 1' FILE_B.txt FILE_A.txt
active_name = "THE USER";
【讨论】:
以上是关于用来自不同文件的字符串替换文件中的字符串的主要内容,如果未能解决你的问题,请参考以下文章