これは音楽ファイルとディレクトリの束です。
同時に、複数のディレクトリで次の作業を行う必要があります。
- ディレクトリに「.jpg」ファイルが含まれている場合は、新しいディレクトリ「Covers」を作成し、ファイルをそのディレクトリに移動します。
- ディレクトリに「.jpg」ファイルが含まれていない場合は、「Covers」ディレクトリを作成しないでください。
- ディレクトリにすでに「Covers」ディレクトリが含まれている場合は、「Covers」ディレクトリを作成しないでください。
ベストアンサー1
存在するbash
:
#!/bin/bash
shopt -s nullglob
for dir; do
[[ -d $dir ]] || continue
jpgs=( "${dir}"/*.jpg )
if (( "${#jpgs[@]}" )); then
[[ -d ${dir}/Covers ]] || mkdir "${dir}/Covers"
# Avoiding race condition by not reusing the jpgs array
for jpg in "${dir}"/*.jpg; do
mv "$jpg" "${dir}/Covers"
done
fi
done