我想解析一个css文件并将每个像素值乘以(2/3).我想知道这是否可能与sed?我知道这是不正确的语法,但我认为这将带回家我想要实现的解释:
sed -e "s|\([0-9]*\)px|int((\1 * 2)/3)|g" file.css
Run Code Online (Sandbox Code Playgroud)
所以基本上我想取\ 1,乘以(2/3)并转换为和int.或者也许awk更有可能?假设我可以编写一个python脚本,但想知道它是否可以通过更快的方式完成.
谢谢
使用awk
$ cat file
foo: 3px; bar: 6px
$ awk '{for(i=1;i<=NF;i++){if($i~/^[0-9]+px/){o=$i;sub(/^[0-9]+/,"",o);$i=($i+0)*(2/3)o}}}1' file
foo: 2px; bar: 4px
Run Code Online (Sandbox Code Playgroud)