在目录中查找日志的脚本

在目录中查找日志的脚本

我有我的循环:

for i in 1.34*
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done  

运作良好。我们有不同版本的发行版,按升序排列。通常我需要创建另一个文件,其中包含没有任何日志到目录的所有版本。问题是当我必须创建这个文件并插入很多版本时。

我想创建一个脚本并询问我必须启动的第一个版本和最后一个版本(该版本的正常格式是 1.34.0.04)。

答案1

您可能会摆脱简单的外壳模式。例如

  • for i in 1.3[4-9]* 1.4[0-3]*匹配修订版1.34 to1.43`
  • for i in 1.34.0.0[4-9]* 1.34.0.[1-9]* 1.34.[1-2].0[1-5]*匹配修订1.34.0.041.34.2.05

ETC

答案2

我尝试创建这个脚本:

echo "Enter The Release Which You Have to start with : \c"
read START

echo "Enter The Release Which You Have to finish with : \c"
read END

cd ${RELDIR}
for i in $(eval echo "{$START..$END}")
do
if [ -f $i/rela/*log ] ; then
echo $i >> /tmp/allog
else
echo $i >> /tmp/alnolog
fi
done

但不起作用,因为只是消除了我输入的两个变量。

相关内容