将相似的文件名移动到目录 - Bash
将相似的文件名移动到目录 - Bash
我有几张图片,它们的名称为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
...但它什么也没做。也没有错误。
admin 更改状态以发布 2023年5月23日