任务
编写实现统计任意目录下有多少个文件和文件夹(命令:egrep、wc、ll)
1、需要使用到位置变量$1、$2、$3,用来给脚本传递参数
2、需要使用到命令替换,varname=$(命令)
d 代表文件类型为目录
directory l 代表文件类型为链接文件 link
– 代表普通文件
实现
#!/bin/bash
#统计文件数量
fnum=$(ls -l $1|egrep "^-|^l"|wc -l)
#统计目录数量
dnum=$(ls -l $1|egrep "^d"|wc -l)
echo "$1的文件数量有$fnum个"
echo "$1的目录数量有$dnum个"
练习
要求:
编写一个脚本,统计任意一个文件中单词的数量
如:/etc/pwd文件中出现了bash10次
使用egrep的-o选项,只匹配输入的内容进行过滤,同时要用到两个位置变量
#!/bin/bash
num=$(cat $1 |egrep -o $2 |wc -l)
echo "$1文件中出现了$2$num次"
#也可以直接用egrep命令进行过滤查找
#egrep -o $2 $1 |wc -l