把文件批量导入同名文件夹
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}/$i
echo "$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、完成。
运行此脚本后,原来的文件夹中出现了刚刚新建的分类的同名文件夹,相关同名文件已经分别复制到对应的文件夹中了。如下图所示: