linux shell搜索下一个,Linux shell 搜索关键字

直接上shell脚本

#!/bin/bash

if [ $# -eq 3 ]; then

userFile=$1

resultFile=$2

targetFiles=$3

startNano=`date +%s%N`

for user in `cat ${userFile}`

do

if [ ${#user} -gt 0 ]; then

record=`grep "${user}" ${targetFiles} | tail -n1 | cut -d" " -f1,2`

echo "${user}:${record}" >> ${resultFile}

else

echo "读取的内容为空字符"

fi

done

endNano=`date +%s%N`

echo "cost `expr \( ${endNano} - ${startNano} \) / 1000000`ms"

echo "${resultFile}中的记录数为:`cat ${resultFile} | wc -l`"

else

echo "执行该shell必须三个参数,参数1:检索条件文件;参数2:结果接收文件;参数3:被检索的文件";

fi

以上的脚本是在指点的文件中进行内容检索,并将检索到的内容写入文件中。

3G的文本文件检索一次大概需要3s左右的时间,如果userFiles中的数据行较多的话,执行耗时是:行数*3s。

这个脚本是单线程执行的,有兴趣的同学可以考虑通过多线程的方式来缩短执行时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值