#!/bin/bash
# 脚本功能
# 生成带有数字序号的文件名,然后在一组文件中寻找包含指定关键字的行
function log_file_name() {
if [ $# -ne 2 ]; then
echo 'argument count MUST be 2';
return;
fi
main_name=$1
if [ -z $main_name ]; then
echo 'file name MUST be provided';
return;
fi
index=$2
if [ $index -lt 0 ]; then
echo ''
elif [ $index -eq 0 ]; then
echo $main_name
elif [ $index -gt 0 -a $index -lt 10 ]; then
echo $main_name.0$index
else
echo $main_name.$index
fi
}
keyword='Toca toca'
file_name_prefix='aplog'
for ((i=30;i>=0;i--))
do
# 通过反引号(`)获得函数返回值,或者通过$()替代``
# 注意不要使用双引号(")包裹函数参数
file_name=`log_file_name $file_name_prefix $i`
grep $keyword $file_name
done