小白求linux语句解释
count=`cat /opt/Roamware/yehui/carr_ul_ratio.lst|wc -l|awk '{print $1}'`
echo " Time Operator ul_recv ul_prepaid ul_prepaid_succ ul_postpaid ul_bypass succ_ratio"
tail -$count /opt/Roamware/logs/amms/stat/carr_ul_ratio.`date +%Y%m%d`.log |grep 201|awk -F"," '{if($4>$5){print $0,$5/$4*100"%"} else{print $0,"100%"}}'
由于小白还是分步求解答
第一步:count=`cat /opt/Roamware/yehui/carr_ul_ratio.lst|wc -l|awk '{print $1}'`
cat /opt/Roamware/yehui/carr_ul_ratio.lst|wc -l 结果36,后面加上awk '{print $1}'干嘛,而且对结果没影响啊 还是36
第二步: echo " Time Operator ul_recv ul_prepaid ul_prepaid_succ ul_postpaid ul_bypass succ_ratio"
这个不解释
第三步:tail -$count /opt/Roamware/logs/amms/stat/carr_ul_ratio.`date +%Y%m%d`.log |grep 201这个结果是8列数据 分别对应ehco的前8个字段。
第四步:|awk -F"," '{if($4>$5){print $0,$5/$4*100"%"} else{print $0,"100%"}}'这个结果是百分比,现在的问题是这个百分比是怎么放在最后一列上的也就是 不太明白{print $0,"100%"}
------解决方案--------------------第一步的问题.后面加上awk '{print $1}'干嘛,而且对结果没影响啊 还是36
确实没什么用,防止有些平台 36 后面还显示其他信息。
第四步的问题.{print $0,"100%"}
awk的print 的$0这个参数是原封不动的吧前面的所有内容装进去. $1,$2...就是从第一分段开始。作为参数分配得来的。
------解决方案--------------------
没用。可以删掉。
也许作者在测试的时候是这样写的:
wc -l /opt/Roamware/yehui/carr_ul_ratio.lst