shell编程100例(六)

100、使用awk编写的wc程序
#!/bin/bash

使用awk编写的wc程序

自定义变量 chars 变量存储字符个数,自定义变量 words 变量存储单词个数

awk 内置变量 NR 存储行数

length()为 awk 内置函数,用来统计每行的字符数量,因为每行都会有一个隐藏的$,所以每次统计后都+1

wc 程序会把文件结尾符$也统计在内,可以使用 cat ‐A 文件名,查看该隐藏字符

awk ‘{chars+=length($0)+1;words+=NF} END{print NR,words,chars}’ $1
98、统计双色球各个数字的中奖概率
#!/bin/bash

统计双色球各个数字的中奖概率

往期双色球中奖号码如下:

01 04 11 28 31 32 16

04 07 08 18 23 24 02

02 05 06 16 28 29 04

04 19 22 27 30 33 01

05 10 18 19 30 31 03

02 06 11 12 19 29 06

统计篮球和红球数据出现的概率次数(篮球不分顺序,统计所有篮球混合在一起的概率)

awk ‘{print $1"\n"$2"\n"$3"\n"$4"\n"$5"\n"$6}’ 1.txt | sort | uniq -c | sort
awk ‘{print $7}’ 1.txt | sort | uniq -c | sort
97、使用 egrep 过滤 MAC 地址
#!/bin/bash

使用 egrep 过滤 MAC 地址

MAC 地址由 16 进制组成,如 AA:BB:CC:DD:EE:FF

[0‐9a‐fA‐F]{2}表示一段十六进制数值,{5}表示连续出现5组前置:的十六进制

egrep “[0‐9a‐fA‐F]{2}(:[0‐9a‐fA‐F]{2}){5}” $1
96、打印各种格式的时间
#!/bin/bash

打印各种时间格式

echo “显示星期简称(如:Sun)”
date +%a
echo “显示星期全称(如:Sunday)”
date +%A
echo “显示月份简称(如:Jan)”
date +%b
echo “显示月份全称(如:January)”
date +%B
echo “显示数字月份(如:12)”
date +%m
echo “显示数字日期(如:01 号)”
date +%d
echo “显示数字年(如:01 号)”
date +%Y echo “显示年‐月‐日”
date +%F
echo “显示小时(24 小时制)”
date +%H
echo “显示分钟(00…59)”
date +%M
echo “显示秒”
date +%S
echo “显示纳秒”
date +%N
echo “组合显示”
date +"%Y%m%d %H:%M:%S"
95、判断文件或目录是否存在
#!/bin/bash

判断文件或目录是否存在

if [ $# -eq 0 ] ;then
echo “未输入任何参数,请输入参数”
echo “用法:$0 [文件名|目录名]”
fi
if [ -f $1 ];then
echo “该文件,存在”
ls -l $1
else
echo “没有该文件”
fi
if [ -d $1 ];then
echo “该目录,存在”
ls -ld $2
else
echo “没有该目录”
fi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值