我尝试了几种方法,但都没有成功。我有一个输入文件,其中包含很多类似这样的字段
weight=0.123456
与其他字段混合。我想将所有这些权重乘以一个因子,比如 100,所以我想看看
weight=12.3456
在输出文件中。使用 sed 或 awk 执行此操作的好方法是什么?
答案1
对于包含以下内容的简单文件
$ cat input
weight=0.0012
weight=0.0345
$ awk '/weight/{gsub(/weight=/, "")};{ value=$0*100; printf "weight=%s\n", value}' input
成功了。更复杂的输入文件需要更复杂的规则(可能)。
答案2
awk -F= '$1 ~ /weight/{print "weight="$2*100}' file