ディレクトリ内のログを検索するスクリプト

ディレクトリ内のログを検索するスクリプト

私のループがあります

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.04リビジョン1.34.2.05

など

答え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

しかし、私が入力した2つの変数だけを削除するので、うまくいきません。

関連情報