前端之家收集整理的这篇文章主要介绍了
正则表达式 – 可能涉及算术的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