ディレクトリ内の下位バージョンの jar ファイルを削除するスクリプトがあります。
#!/bin/bash
#Script to remove lower version jar files.
for PREFIX in `ls *.jar|sed 's/-[0-9\.\0-9\.a-zA-Z]*\.jar//g'|uniq -d`; do
for FILE in `ls -r ${PREFIX}*|sed '1d'`; do
echo " $FILE"
rm $FILE
done
done
バグがあります。
ディレクトリ内の重複するjarファイルのリストを以下に示します。
xyz-1.1.jar
xyz-1.1.1.jar
abc-1.6.jar
abc-1.3.jar
abc-xyz-pqr-1.9.6.jar
abc-xyz-pqr-1.9.2.jar
xyz-tom.jar
xyz-tom-20120423.jar
xyz-tom-20120410.jar
abc-toolkit-1.6-runtime-5.2.0.jar
abc-toolkit-1.6-runtime-5.0.0.jar
バグは、xyz パターンの jar ファイルにあります。バグ:
- スクリプトが xyz-1.1.jar ではなく xyz-1.1.1.jar ファイルを削除しています
- スクリプトは xyz-tom-20120423.jar および xyz-tom-20120410.jar ファイルを削除しています。