我需要处理一堆包含1,56728形式的数字的文本文件.原始值以cm为单位,我需要将其转换为72dpi(num * 0,393700787402 * 72).
原始值采用此格式X= 1.767 Y= 1.5.
我试图sed s/[^0-9]找到这些数字,但它没有用.
我应该使用sed吗?如果是,我该如何进行计算?
我用awk它,它做浮点计算(bash没有),可以轻松处理你的文件格式.
$ awk -F'[= ]+' \
'function dpi(x){return x*0.39*72}{print $1"= "dpi($2)" "$3"= "dpi($4)}' \
input_file
Run Code Online (Sandbox Code Playgroud)
该-F'[= ]+'部分告诉awk在空格或等号上拆分列.该函数dpi为一个输入执行转换.主块使用原始变量名称打印转换后的值.根据自己的喜好调整.