使用 sed 或其他方式处理带有分数的数字



我需要处理一堆包含 1,56728 形式的数字的文本文件。原始值以厘米为单位,我需要将其转换为 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

-F'[= ]+'部分告诉 awk 在空格或等号上拆分列。函数dpi对一个输入进行转换。主块打印出转换后的值,并带有原始变量名称。根据自己的喜好进行调整。

相关内容

  • 没有找到相关文章

最新更新