我有几个ID-sequence.jpg
名称的图片,其中ID对于一组图片是相同的,例如:
4fd-00027-1.jpg
4fd-00027-2.jpg
4fd-00027-3.jpg
6gq-00017-1.jpg
6gq-00017-2.jpg
6gq-00752-3.jpg
6gq-00752-4.jpg
...现在我需要将所有这些文件移动到他们自己的目录中,这些目录也应该与ID
相同。我相信我需要这样的东西:
for FILE in *; do
ID_REGEX="(.*(?=-))"
if [[ $FILE =~ $ID_REGEX ]]; then
ID="${BASH_REMATCH[1]}"
echo "$ID"
mkdir -p "/Users/myname/images_organized/$ID"
$(mv "/Users/myname/images/$FILE" "/Users/myname/images_organized/$ID/$FILE" )
fi
done
......但它没有做任何事情。没有错误。
答案 0 :(得分:1)
工作太多了。
for file in *
do
dir="${file%%-*}"
[ -d "$dir" ] || mkdir "$dir"
mv "$file" "$dir"
done