根据文件名新建文件夹,并改成小写文件夹名脚本

一、需求

如下:现在有如下文件夹,文件夹下有如下文件

[root@LeoLinux test]# ls -lht
总用量 4.0K
-rwxr-xr-x. 1 root root 232 3月   4 14:38 1.sh
-rw-r--r--. 1 root root   0 3月   4 14:30 Acb-3.zip
-rw-r--r--. 1 root root   0 3月   4 14:30 ADE-1.tar.gz
-rw-r--r--. 1 root root   0 3月   4 14:30 abc-2.whl

要求,将文件移动到对应的目录中,目录的名称为“-”前面的名称,并且都为小写。

二、实现

脚本编写

[root@LeoLinux test]# cat 1.sh
#!/bin/bash
for i in $(ls *whl *tar.gz *zip 2>/dev/null)
do
        module_name=$(echo $i | awk -F'-' '{print $1}')
        module_name=$(echo $module_name | awk '{print tolower($module_name)}')
        mkdir -p $module_name
        mv $i ${module_name}/
done

实现效果

[root@LeoLinux test]# ls -lht
总用量 16K
drwxr-xr-x. 2 root root 4.0K 3月   4 14:39 ade
drwxr-xr-x. 2 root root 4.0K 3月   4 14:39 acb
drwxr-xr-x. 2 root root 4.0K 3月   4 14:39 abc
-rwxr-xr-x. 1 root root  232 3月   4 14:38 1.sh

猜你喜欢

转载自blog.csdn.net/lwcaiCSDN/article/details/88114968