加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

文本比对输出脚本

发布时间:2020-12-15 16:20:18 所属栏目:安全 来源:网络整理
导读:#!/bin/bash line_src=`cat check.ctpsp_gk.sql|wc -l ` line_dest=`cat check.ctpsp_gk.txt|wc -l ` rm -rf sql_result.txtrm -rf data_result.txttouch sql_result.txttouch data_result.txt echo $line_src echo $line_dest for ((i= 1 ,j= 1 ;i= $line_s
#!/bin/bash
line_src=`cat check.ctpsp_gk.sql|wc -l`  
line_dest=`cat check.ctpsp_gk.txt|wc -l`  

rm -rf sql_result.txt
rm -rf data_result.txt


touch sql_result.txt
touch data_result.txt

echo $line_src  
echo $line_dest


for ((i=1,j=1;i<=$line_src&&j<=$line_dest;i++));
    do
        source_sql=`awk 'NR=='"$i"'{print $0}' check.ctpsp_gk.sql`
        dest_data=`awk 'NR=='"$j"'{print $0}' check.ctpsp_gk.txt`
      tab_name=`awk 'NR=='"$j"'{print $1}' check.ctpsp_gk.txt`
      tab_count=`awk 'NR=='"$j"'{print $2}' check.ctpsp_gk.txt`

      src_tab_name=`echo $source_sql | sed "s/.*'(.*)'.*/1/"`

      if [ "$src_tab_name" == "$tab_name" ] && [ $tab_count -lt 1000000 ];then
         echo $source_sql >> sql_result.txt
         echo $dest_data >> data_result.txt
         let j++;
      elif [ "$src_tab_name" == "$tab_name" ] && [ $tab_count -ge 1000000 ];then
         let j++;
      fi


      echo "$source_sql"
      echo "$dest_data"
      echo "i=$i j=$j"
      #echo "i=$i $source_sql"
      #echo "$src_tab_name"

  done

运用到以下知识点:

--匹配出单引号中的字符
echo "select 'ie_bidsection',count(*) from ctpsp.ie_bidsection" | sed "s/.*'(.*)'.*/1/"

--if下变量和数字比对
--lt < le <= gt > ge >= ne <> eq =
if [ "$src_tab_name" == "$tab_name" ] && [ $tab_count -lt  1000000 ];then

elif [ "$src_tab_name" == "$tab_name" ] && [ $tab_count -ge 1000000 ];then

fi

--变量自增
a=$(($a+1))
a=$[$a+1]
a=`expr $a + 1`
let a++
let a+=1
((a++))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读