我有很多单独的文件:
/File 01.txt
/Picture 02.png
是否有一个终端命令可以执行此操作,所以我最终得到以下结果:
/File 01/File 01.txt
/Picture 02/Picture 02.png/
我在 Mac 上使用 OS X 10.11.3
这听起来很简单,但是我对 Mac 还很陌生,并且对从 Windows 转移的终端没有真正的了解。
答案1
在开始之前,我真的建议您备份要执行此操作的文件夹。
cd
进入您尝试操作的文件夹然后:
for file in *; do
if [[ -f "$file" ]]; then
mkdir "${file%.*}"
mv "$file" "${file%.*}"
fi
done
- 循环遍历
*
当前文件夹中的所有文件()。 mkdir
从不带扩展名的文件创建文件夹 ( )${file%.*}
mv
将文件移动( )到该文件夹中。
请注意,您必须使用引号,因为某些文件的名称中可能有空格。
您可以在终端中输入该内容,也可以创建脚本文件。
答案2
我没有足够的声誉来将此作为评论添加到上面的@Ammar Alammar 的精彩答案中,但如果有人想将其直接粘贴在终端提示符下而不是将其保存为脚本,那么这个单行代码应该可以解决问题:
for file in *; do if [[ -f "$file" ]]; then mkdir "${file%.*}"; mv "$file" "${file%.*}"; fi; done
答案3
但我想知道如果一个文件夹中有许多文件,例如,它们具有相同的名称,后面跟着一个数字,例如 fotolux-1.jpg、fotolux-2.jpg...和 Fotoone-1.jpg、fotoone-2.jpg...等等...并且想创建一个名为 fotolux、fotoone 等的文件夹,将所有文件放在各自的名称文件夹中,例如 fotolux、fotoone 等,不管我应该做哪些更改才能使其工作...谢谢