微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – 可能涉及算术的Sed替换?

我需要修改文件包含以下内容
block: 16,size: 16,start: 8,length: 4

我想要文件,以便block,size的值除以2,而start,length的值将乘以2.

由于我必须对一大堆文件进行这样的修改,我正在考虑使用Sed为我做替换工作.但我不确定在匹配和替换过程中是否允许进行计算.

我总是尝试使用sed解决sed标记的每个问题.但是在这里完成你想用awk做的事情会很容易. (在这种情况下使用sed太难了.)所以,这是我使用awk的解决方案:
$echo "block: 16,length: 4" | awk '{
    printf "%s %d,%s %d,%s %d\n",$1,$2/2,$3,$4/2,$5,$6*2,$7,$8*2
}'
block: 8,size: 8,start: 16,length: 8

原文地址:https://www.jb51.cc/regex/356834.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐