1、读取文件内容
cat score.txt | while read line
do
echo "the line in score.txt is:${line}"
done
2、操作字符串
查看字符串长度(=str.length()):${#str}
截取字符串(str.substring(strart,length)):${str:start:length}
获取字符串中字符下标(str.indexof("")):expr index ${str} "hello"
替换字符串(str.replace("","")):${str/substr/replaceStr}
替换字符串(str.replaceAll("","")):${str//substr/replaceStr}
判断是否包含字符(str.contains()):$strA =~ $strB (判断strA里面是否包含strB)
3、统计目录下文件/目录个数
不包含子目录下面的文件: ll -l | grep "^-" | wc -l
包含子目录下面的文件: ll -lr | grep "^-" | wc -l
统计当前目录下面的子目录个数: ll -l | grep "^d" | wc -l
统计当前目录下面的子目录个数(包含子目录下面的子目录): ll -lR | grep "^d" | wc -l
用法分析:
ll 命令的R参数代表命令递归生效,即对子目录的子目录也会生效;
grep 命令后面的 "^d"和"^-"两个字符串都是正则表达式,代表以什么开头的意思,Linux里面目录以d开头,文件以-开头,所以用它能够区分文件或者目录;
wc命令用于统计数量,-l代表统计管道输入过来的数据的行数
4、生成指定范围内的随机数
生成1000-2000之间的随机数
function getRandom(){
min=$1
max=$2
r=${RANDOM}
#先得出max和min的差值
dis=$((${max}-${min}))
res=$((${r}%${dis}+${min}))
}
getRandom 1000 2000
echo "getRandom:${res}"
5、生成指定长度的随机字符串
#使用date 生成随机字符串
r1=`date +%s%N | md5sum | head -c 10`
echo "r1=${r1}"
#使用 /dev/urandom 生成随机字符串
r2=`cat /dev/urandom | head -n 10 | md5sum | head -c 10`
echo "r2=${r2}"