多くのフォルダーを持つディレクトリがあり、各フォルダーには XML ファイルのリストが含まれています。ファイルを走査し、ファイルのサイズが 65Mb を超える場合にファイルの拡張子を「manual」に変更する bash スクリプトを作成しています。シェルスクリプトを書くのはこれが初めてで、ファイルをトラバースするためのコードを書くことはできましたが、名前の変更部分で苦労しています。
for file in $dir
do
size=$(stat -c%s "$file")
if test "$size" -gt "68157440"; then
echo "Before Renaming...."
echo $file
echo "After renaming"
mv *.manual `basename $file`.xml
echo $file
else
echo $file >> outlog.log
fi
done
$file の例は、
/apps/jAS/dev/products-app/BConverter/data/supplier-data/TF/output/Fiber Optics and Fiber Management Solutions/Fiber Optic Cable Assemblies.xml