【Linux】shell 小记

注意事项
cat data | sh xxx.sh  # .sh 获取不到 | 的结果
cat data | python xxx.py # √
批量请求

sh batch_request.sh query.txt

#! /bin/bash

echo $1

while read line;do
sh request.sh ${line}
echo -e "\n"
done <$1

"一站式"流水线

sh auto.sh query/dy.query 2

#! /bin/bash

# Usage: sh auto.sh query/dy.query 2

# 参数检查
if [ $# -eq 0 ]; then
  echo "Usage: sh auto.sh \${query_path} \${wanted_item_num}"
  exit 1
fi

# 参数提取
query_file=$1
xxx=`echo "${query_file}" | awk -F '/' '{print $NF}'`
echo "query_file: ${xxx}"

# 创建输出目录
# query_file 默认 以.query 结尾
query_dir=`echo "$query_file" | awk -F '.query' '{print $1}'`
echo "mkdir ${query_dir}"
mkdir ${query_dir}

# 请求
echo "Run: sh batch_request.sh ${query_file} > ${query_dir}/${xxx}.info"
sh batch_request.sh ${query_file} > ${query_dir}/${xxx}.info

# hold
query_num=`wc -l  $1 | awk -F ' ' '{print $1}'`
echo "query_num: ${query_num}"
sleep_time=$(($query_num / 5))
CURRENT_TIME=$(date +"%T")
echo "Sleeping at ${CURRENT_TIME} for ${sleep_time} seconds"
sleep ${sleep_time}
echo 'Sleep done'

# 解析
echo "Run: python3 parse_frondend_info.py ${query_dir}/${xxx}.info > ${query_dir}/${xxx}.info.parse"
python3 parse_frondend_info.py ${query_dir}/${xxx}.info > ${query_dir}/${xxx}.info.parse

# 统计 
echo "Run: cat ${query_dir}/${xxx}.info.parse | grep 0$ > ${query_dir}/${xxx}.info.parse.norecall"
cat ${query_dir}/${xxx}.info.parse | grep 0$ > ${query_dir}/${xxx}.info.parse.norecall

if [ $# -lt 2 ]; then
    wanted_item_num=2
else
    wanted_item_num=$2
fi
echo "wanted_item_num: ${wanted_item_num}"
echo "Run: awk '\$2 > 0 && \$2 < ${wanted_item_num}' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.lackrecall"
awk '$2 > 0 && $2 < wanted_item_num' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.lackrecall
echo "Run: awk '\$2 = ${wanted_item_num}' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.preciserecall"
awk '$2 = wanted_item_num' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.preciserecall
echo "Run: awk '\$2 > ${wanted_item_num}' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.surplusrecall"
awk '$2 > wanted_item_num' ${query_dir}/${xxx}.info.parse > ${query_dir}/${xxx}.info.parse.surplusrecall
echo "----------------------------------------------------"
echo "PLEASE CHECK `wc -l ${query_dir}/${xxx}.info.parse.norecall` !!!"
echo "PLEASE CHECK `wc -l ${query_dir}/${xxx}.info.parse.lackrecall`"
echo "PLEASE CHECK `wc -l ${query_dir}/${xxx}.info.parse.preciserecall`"
echo "PLEASE CHECK `wc -l ${query_dir}/${xxx}.info.parse.surplusrecall`"

在这里插入图片描述写在最后:若本文章对您有帮助,请点个赞啦 ٩(๑•̀ω•́๑)۶

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的卡比兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值