shell 脚本案例

1 写一个脚本,产生一个 phonenum.txt文件,随时产生以139开头的手机号1000个,每个一行

#! /bin/env bash
file=./phonenum.txt
for ((i=1;i<=1000;i++))
do
   n1=$[$RANDOM%10]
   n2=$[$RANDOM%10]
   n3=$[$RANDOM%10]
   n4=$[$RANDOM%10]
   n5=$[$RANDOM%10]
   n6=$[$RANDOM%10]
   n7=$[$RANDOM%10]
   n8=$[$RANDOM%10]
   echo "139$n1$n2$n3$n4$n5$n6$n7$n8" >> $file
done

注意:
1 显示文本有多少行
wc -l 文件
2 我在file那行 =多了一个空格
一直显示无法定位到 file文件
3 for 要使用两个 ()
不然语法错误
4 for ((i=1;i<=1000;i++))
把 i<=1000 写成了 l<=1000 然后成了死循环

2 从上面的1000个手机号里面抽奖5个幸运观众,显示出这5个幸运观众
但 只显示头三个数和尾号四个数,中间数都用*代替

#! /bin/bash
phone=./phonenum.txt
for ((i=1;i<=5;i++))
do
# line得到有多少行
  line=`wc -l $phone |cut -d' ' -f1`
# luck_line 得到 1到 line 的随机数
  luck_line=$[RANDOM%$line+1]
# luck_num 得到文件的 第luck_line 行数据
  luck_num=`head -$luck_line $phone|tail -1`
#  luck_num:7:4 取 luck_num 从第个8个数开始取4个数
  echo "139****${luck_num:7:4}"
  echo $luck_num >> luck.txt
#  从源文件中删除  第luck_num 行
  sed -i "/$luck_num/d" $phone
done
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值