【发布时间】:2021-05-13 07:46:03
【问题描述】:
我想将文件 1 中的 location 值替换为文件 2 中的值。例如,在给出的示例中,location 值应从 24 变为 32,从 25 变为 34。
文件 1:
'location': '24'
'Size':'8'
'location':'25'
'Size':2'
文件 2:
32
34
输出
'location': '32'
'Size':'8'
'location':'34'
'Size':'2'
【问题讨论】:
-
不要强迫某人在他们知道问题是什么之前点击并阅读正文。 (已编辑以尝试解决该问题)。
-
“文件 2”根本没有有位置。还是说
Output下面的那个? -
除此之外:如果人们要编写用于编辑文件格式的工具,他们需要该格式的规范,而不仅仅是示例,以确保代码是正确的。 (这就是为什么大多数人使用 JSON、YAML 或其他明确指定的格式而不是手动滚动他们自己的格式的部分原因;拥有严格的规范意味着可以对实现的正确性和完整性有信心,并知道哪个当两个组件彼此不兼容时,side 是错误的)。
-
另外,如果你能展示你尝试过的东西并解释你遇到问题的地方会很好。您可能应该使用
awk,并且您可能应该在处理File 1之前处理File 2,使用FNR == NR处理来自File 2和FNR != NR的行以处理来自File 1的行。您将运行awk '…script that you write…' File2 File1以按File 2然后File 1的顺序处理文件。选择不带空格的文件名;他们让生活更轻松。 -
我不想和
sed一起做。或许可以做到,但绝非易事。