我有多个包含如下值的文本文件:
width = 64
height = 128
position_x = 48
position_y = 48
我想检查这些文件,并将这些值乘以 2,生成如下文件:
width = 128
height = 256
position_x = 96
position_y = 96
是否可以为此编写一个脚本?我可以使用哪些命令来查找替换这些数字?
我有多个包含如下值的文本文件:
width = 64
height = 128
position_x = 48
position_y = 48
我想检查这些文件,并将这些值乘以 2,生成如下文件:
width = 128
height = 256
position_x = 96
position_y = 96
是否可以为此编写一个脚本?我可以使用哪些命令来查找替换这些数字?
将找到所有 1 位或多位数字的序列,并用其乘以 2 的值替换它们。
要仅替换与模式
<digits>
匹配的行anything = <digits>
,请替换为:这是一个 awk 方法:
请注意,这假设文件的第三个空格分隔字段仅由数字组成,并且是您要相乘的字段。它还将跳过第三个字段为 0 的任何行,因为我们仅在
$3*2
计算结果为真和0*2
计算结果为假(0)的情况下打印。为避免这种情况,请使用:以上两种方法都可能改变输入空格,例如将制表符转换为空格。我假设这与此无关,因为您的示例文件在每个 周围只有一个空格
=
。