1、需要被批量复制到同名文件夹的jpg文件的名称是xxxx_xxx.jpg的格式。文件名中的下划线_是区分关键字符。后面把下划线_前面的部分作为同名文件夹的名称。
2、在文本编辑器中创建shell script脚本文件,起名为copy_file_to娄多骋能_same_name_folder.sh,文件内容如下:#!/bin/bash# 同名文件与文件夹的意思是,文围泠惶底件名中的下划线_前面的部分相同# 批量自动把同名文件分别放入同名文件夹中# 处理的文件是后缀名为.jpg的文件for i in *.jpg;do# 从文件名中截取下划线_前面的部分,作为文件夹名称 destination_folder=${i%[_]*}# 在命令行输出结果中显示文件夹名称——只是为了看看而已 ^_^ echo $destination_folder# 如果已经存在这个名称的文件夹,则不再创建;# 如果没有则创建,并创建,并在命令行输出结果中吼一声 ^_^ if [ ! -d $destination_folder ];then mkdir ${destination_folder} echo "the folder with the name of $destination_folder has been created." fi# 复制文件到同名文件夹,并在命令行输出结果中吼一声 ^_^ cp $i ./${destination_folder}/$iecho "$i has been moved to the same name folder of $destination_folder"done
3、赋予此脚本可执行权限。在终端中输入命令:sudo chmod 777 copy_file_to_same_name_folder.sh(回车)
4、在文件所在目录下运行此脚本。在终端中输入命令:./copy_file_to_same_name_folder.sh (回车)
5、完成。运行此脚本后,原来的文件夹中出现了刚刚新建的分类的同名文件夹,相关同名文件已经分别复制到对应的文件夹中了。如下图所示: