Move similar filenames to dir - Bash
我有几个名称为
1 2 3 4 5 6 7 | 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 |
…现在,我需要将所有这些文件移动到它们自己的目录中,这些目录也应该与
1 2 3 4 5 6 7 8 9 | 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 |
…但它什么也没做。也没有错误。
工作太多了。
1 2 3 4 5 6 | for file in * do dir="${file%%-*}" [ -d"$dir" ] || mkdir"$dir" mv"$file""$dir" done |