• shell数值操作(四则运算,浮点数,科学计数法)awk,bc


    1

    两个文件对应行的数值进行数值计算 

    #!/bin/bash
    #use awk to handle Scientific notation
    #use bc to handle float

    for loop in  1
    do
         d=`ls ./performance.v1/${loop}thread/*.ori `

          for f in $d
          do
             echo $f
             line=`cat $f | wc -l`

            rm ${f}-minus
    #       for ((i=1;i<=$line;i++))
               for i in `seq $line`

             do
              file1=` awk '{ if(NR=='"$i"') print $2}' ${f} `

    #NR代表行号
              echo $file1
         file2=` awk '{ if(NR=='"$i"') print $2}' ${f/v1/v2/} `
    #      字符串替换   ${f/v1/v2/} `

    echo $file2

    if echo $file1 | grep "E"
    then
    result=`echo "$file1 $file2" | awk '{print "%f",$1-$2}'`

    # awk可以对科学计数法进行计算
    echo $result>>${f}-minus
    echo "result"

    else

             result=` echo "$file1 - $file2" | /home/xuanji/bc-1.06/bc/bc`

    #bc可以处理浮点数
              echo $result
              echo "result"
            echo $result >>${f}-minus

    fi
              done
          done
    done




    2  参考代码:

    shell脚本,一行一行比较两个文本文件。 shell脚本,对一行一行读取文本文件得到的那一行数据进行字符串

    2012-11-12 15:58提问者:ShiJingCai075 |浏览次数:376次
    以逗号分割。
    比如文本文件的数据:
    group1,table1,name,1
    group2,table1,name,2
    我来帮他解答
    满意回答
    2012-11-12 18:28
    没明白你的意思,就写了一个判断两个文件对应行是不是相同。在线的话就追问我。
    line=`cat file1|wc -l`
    for ((i=1;i<=$line;i++));do
      file1=`awk 'NR="'$i'"{print $0}'` file1
      file2=`awk 'NR="'$i'"{print $0}'` file2
      if [ $file1 == $file2 ];then
        echo line $i looks same!
      else
        echo line $i looks different!
      fi
    done
    追问
    对读取的一行一行的文件内容以逗号分割,我现在已经做出来了,比如这种:
    fileGroupId=`echo $line | awk -F ',' '{ print $1; }'`
    columnName=`echo $line | awk -F ',' '{ print $7; }'
    ##然后比较。
    if [[ $fileGroupId != $groupParam ]]; then
    网址:http://zhidao.baidu.com/question/496930297.html

  • 相关阅读:
    Lightmaping
    Android内存回收机制
    基本光照模型简单实现
    Pass的通用指令开关
    使用Depth Texture
    使用替换shader渲染
    Windows下安装Oracle12C(一)
    SpringMVC文件上传基础
    Spring集成线程池
    《经久不衰的Spring框架:@ResponseBody 中文乱码》(转)
  • 原文地址:https://www.cnblogs.com/catkins/p/5270644.html
Copyright © 2020-2023  润新知