这是另一个线程(mac OS – Creating folders based on part of a filename)的后续操作
我正在运行macOS,正在寻找一种快速对数千个JPG文件进行排序的方法。我需要根据部分文件名创建文件夹,然后将这些文件移入其中。
简而言之,我想放置以下文件:
12345E.JPG
12345E_1.JPG
99876S.JPG
99876S_1.JPG
99876S_2.JPG
进入这些文件夹:
12345E
99876S
请记住,名称的“ x”和“ y”部分的长度可能不同。
maxOS中是否有针对此的自动解决方案?我已经尝试过使用Automator和Terminal,但是我不是程序员,所以做得不好。
我已经尝试过了:
find . -type f -name "*jpg" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
-exec bash -c 'mv "$0" "${0%%_*}"' {} \;
但它似乎不喜欢.JPG和.jpg
find . -type f -name "*jpg" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
-exec bash -c 'mv "$0" "${0%%_*}"' {} \;
答案 0 :(得分:0)
尝试
find . -type f -name "*jpg" -o -name "*JPG" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
-exec bash -c 'mv "$0" "${0%%_*}"' {} \;
-o
的意思是或。
或者,您可以只运行两次命令,一次运行.jpg文件,一次运行.JPG文件。