そこで、逸脱アートからダウンロードした画像ファイルの名前を変更するための BASH シェル スクリプトをいくつか作成し、アーティスト名が最初に来て、次にアート作品の名前が来るようにしました。(dA に慣れていない方のために説明すると、システムはダウンロード可能な画像ファイルに imageTitle_by_ArtistsName.extention という名前を付けるため、画像をすばやく整理するのが難しくなります)。それは機能します...しかし、それはとてもぎこちないようです。これを処理するよりエレガントな方法はありますか?
コード:
#!/bin/bash
#############################
# A short script for renaming
#Deviant Art files
#############################
echo "Please enter your image directory: "
read NewDir
echo "Please enter your destination directory: "
read DestinationDir
mkdir $DestinationDir
cd $NewDir
ls>>NamePile
ListOfFiles=`cat NamePile`
for x in $ListOfFiles
do
#Pull in the file Names
FileNameVar=$x
#Get the file types
FileType='.'${FileNameVar#*.}
#Chop the Artists name
ArtistsName=${FileNameVar%%.*}
ArtistsName=${ArtistsName##*_by_}
#Chop the pieces name
ImageName=${FileNameVar%%.*}
ImageName=${ImageName%%_by_*}
#Reassemble the New Name
NewFileName=$ArtistsName" "$ImageName$FileType
cp $x ../$DestinationDir/"$NewFileName"
done
rm NamePile
#######################################