shell 编程统计两个文件行数百分比

今日心血来潮,突然感觉shell中重复的命令让人昏昏欲睡,故有此产出:

直接上干货,我的执行脚本如下:

#!/bin/bash
. ./subscript.txt
for info in ${array[@]}
do
    fstr=`echo $info | cut -d \; -f 1`
    sstr=`echo $info | cut -d \; -f 2`
    yp=`cat ${fstr}|wc -l`
    cf=`cat ${sstr}|wc -l`
    result=`awk 'BEGIN{printf "%.2f%\n",'$yp'/'$cf'*100}'`
    echo $info'已跑:'$result
done

而我引用的文件内部放了一个array数组,内容如下:

array=('limit_of_range_result.txt;../config/limit_of_range_sql.txt' 'limit_of_range_result.txt;../config/limit_of_range_sql.txt' 'limit_of_range_result.txt;../config/limit_of_range_sql.txt')

是使用前面的文件行数除去后面文件行数的百分百

因为用notepad++编辑,其中抛出一个不太专业的异常

syntax error near unexpected token `do

只需要 编辑->文档格式转换->转换为unix格式

异常完美解决;

猜你喜欢

转载自blog.csdn.net/weixin_38120374/article/details/82716890