【发布时间】:2021-07-05 08:55:55
【问题描述】:
我正在尝试在以下文件中将 key1[count] 的值更新为 2。
#file1
//some additional lines
key1 = { var1 = "1", var2 = "12", "count" = 1 }
key2 = { var1 = "32", var2 = "23", "count" = 1 }
key3 = { var1 = "22", var2 = "32", "count" = 3 }
key4 = { var1 = "32", var2 = "12", "count" = 3 }
//some additional lines
我曾尝试使用 awk - awk -i inplace '{ if ( $1 == "key1" ) $12 = 2 ; print $0 }' file1。
但是,这只适用于 awk 版本 4.1.0 及更高版本。
【问题讨论】:
-
您是在问如何根据需要更改值,或者如何将更改值的结果写回输入文件?你说
this only works with...所以我假设你的脚本实际上做了你想要的,你只是想用结果更新输入文件,对吗?请参阅stackoverflow.com/a/68228200/1745001,了解如何使用任何命令覆盖输入,如果您仍有疑问,请添加minimal reproducible example,其中包含简洁、可测试的示例输入和预期输出,以便我们为您提供帮助。