当前位置: 首页 > news >正文

linux下用脚本将目录内的文件分类到各自的创建年份(如2023)或年月份(如2023/202308)目录内

第一个if判断语句中判定只有是文件的时候才执行mv操作,并忽略一些特定
第二个if判断目录不存在时创建目录
最后mv文件到目录内
脚本执行前目录内容:
2022-01-file
2023-02-file
脚本执行后目录内容:
2022
|2022-01-file
2023
|2023-02-file

#!/bin/bash
#for line in `ls -lhrt`
for line in `ls -lhrt | grep -v moveToModifyDir.sh | awk -F " " '{ print $9}'`
doif [ -f "$line" ] && [ "$line" != "" ] \&& [ "$line" != "." ] \&& [ "$line" != ".." ] \&& [ "$line" != "desktop.ini" ] \&& [ "$line" != "@eaDir" ] \&& [ "$line" != "Thumbs.db" ]thenmodifyYear=`stat $line | grep Modify | awk -F " " '{ print $2 }' | awk -F "-" '{ print $1 }'`modifyMonth=`stat $line | grep Modify | awk -F " " '{ print $2 }' | awk -F "-" '{ print $2 }'`echo "file: $line modifyYear is: $modifyYear modifyMonth is: $modifyMonth"realDir="${modifyYear}${modifyMonth}/"if [ ! -d $realDir ]thenecho "$realDir not exist, ready to mkdir"mkdir $realDirelif [ -d $realDir ]thenecho "$realDir exist..."fiecho "realDir is: $realDir"mv $line $realDirfi
done

第二个脚本是先创建年份目录,再创建年+月子目录,并将文件移动到子目录内
脚本执行前目录内容:
2022-01-file
2023-02-file
脚本执行后目录内容:
2022
|2022-01
|2022-01-file
2023
|2023-02
|2023-02-file

#!/bin/bash
for line in `ls -lhrt | grep -v "moveToModifyDir.sh\|moveToYearDateDir.sh" | awk -F " " '{ print $9}'`
doif [ -f "$line" ] && [ "$line" != "" ] \&& [ "$line" != "." ] \&& [ "$line" != ".." ] \&& [ "$line" != "dl.sh" ] \&& [ "$line" != "desktop.ini" ] \&& [ "$line" != "@eaDir" ] \&& [ "$line" != "urls.txt" ] \&& [ "$line" != "Thumbs.db" ]thenmodifyYear=`stat $line | grep Modify | awk -F " " '{ print $2 }' | awk -F "-" '{ print $1 }'`modifyMonth=`stat $line | grep Modify | awk -F " " '{ print $2 }' | awk -F "-" '{ print $2 }'`echo "file: $line                       modifyYear is: $modifyYear modifyMonth is: $modifyMonth"realDir="${modifyYear}/${modifyYear}${modifyMonth}/"echo "realDir is: $realDir"if [ ! -d $realDir ]thenecho "\"$realDir\" dir not exist, ready to mkdir: $realDir"mkdir -p $realDirelif [ -d $realDir ]thenecho "\"$realDir\" dir exist"fimv $line $realDirfi
done
http://www.lryc.cn/news/123649.html

相关文章:

  • 新手如何快速学习单片机?
  • 【容器化】Oceanbase镜像构建及使用
  • 软考第二章 信息技术发展
  • 【Unity每日一记】向量操作摄像机的移动(向量加减)
  • C++初阶之一篇文章教会你queue和priority_queue(理解使用和模拟实现)
  • 性能场景和性能需求指标
  • Python学习 -- 常用函数与实例详解
  • MySQL 账号权限
  • [Mongodb 5.0]单机启动
  • [HDLBits] Exams/m2014 q4b
  • 数据结构入门:队列
  • 面试热题(合并K个升序链表)
  • 优化过多if else判断代码
  • 最强自动化测试框架Playwright (27)-跟踪查看器
  • 【工作中问题解决实践 十一】Kafka消费者消费堆积且频繁rebalance
  • ChatGpt提示词大全
  • 利用SimpleDateFormat或者LocalDateTime生成格式为“yyyy-MM-dd HH:mm:ss“的当前时间
  • 使用 Postman 批量发送请求的最佳实践
  • Docker一键部署项目,无需登录XShell
  • GIt Squash 多个提交压缩提交
  • 【数据结构】栈与队列
  • 突然让做性能测试?试试RunnerGo
  • (7)(7.4) 集结航点
  • 基于kubeadm部署K8S集群:上篇
  • 机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
  • 学生成绩管理系统V1.0
  • 嵌入式:ARM Day1
  • Android 网络协议与网络编程
  • 【讯飞星火认知大模型】大模型之星火手机助理
  • centos中的swap.img可以删除吗