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
相关文章:
linux下用脚本将目录内的文件分类到各自的创建年份(如2023)或年月份(如2023/202308)目录内
第一个if判断语句中判定只有是文件的时候才执行mv操作,并忽略一些特定 第二个if判断目录不存在时创建目录 最后mv文件到目录内 脚本执行前目录内容: 2022-01-file 2023-02-file 脚本执行后目录内容: 2022 |2022-01-file 2023 |2023-02-file …...
新手如何快速学习单片机?
初步确定学习目标:是学习简单便宜的51呢,还是学习简单但是性价比已经不算太高的,但是功能强大稳定可靠的avr,还是物美价廉的stm32,或者ARM9(可以跑系统了),再往上x86什么的如果是学8…...
【容器化】Oceanbase镜像构建及使用
通过该篇文章可以在国产X86-64或ARM架构上构建商业版oceanbase,只需要替换pkg安装包即可。下面截图主要以国产X86-64安装为例,作为操作截图: 镜像构建目录说明 pkg:用来存放安装包及脚本,抛出rpm其他是脚步,这些rpm包…...
软考第二章 信息技术发展
本章内容:软件硬件、网络、存储、新技术。 文章目录 2.1 信息技术及其发展2.1.1 计算机硬件2.1.2 计算机网络2.1.3 存储和数据库2.1.4 信息安全 2.2 新一代信息技术2.2.1 物联网2.2.2 云计算2.2.3 大数据2.2.4 区块链2.2.5 人工智能虚拟现实 2.1 信息技术及其发展 …...
【Unity每日一记】向量操作摄像机的移动(向量加减)
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:uni…...
C++初阶之一篇文章教会你queue和priority_queue(理解使用和模拟实现)
queue和priority_queue(理解使用和模拟实现) 什么是queuequeue的使用1.queue构造函数2.empty()3.size()4.front()5.back();6.push7.emplace8.pop()9.swap queue模拟实现什么是priority_queuepriority_queue的使用1.priority_queue构造函数1.1 模板参数 C…...
性能场景和性能需求指标
目录 一 性能场景 1、基准性能场景 2、容量性能场景 3、稳定性性能场景 4、异常性能场景 二 性能需求指标 1、业务指标 2、技术指标 2.1 时间指标 RT 2.2 容量指标 TPS 2.3 资源利用率 3、指标之间的关系 “TPS”与“响应时间” “用户数”与“TPS”与“压力工具中…...
Python学习 -- 常用函数与实例详解
在Python编程中,数据转换是一项关键任务,它允许我们在不同数据类型之间自由流动,从而提高代码的灵活性和效率。本篇博客将深入探讨常用的数据转换函数,并通过实际案例为你展示如何巧妙地在不同数据类型之间转换。 数据类型转换函…...
MySQL 账号权限
mysql 在安装好后,默认是没有远端管理账号。 一、账号管理 1. 查看账号列表 MySQL用户账号和信息存储在名为 mysql 的数据库中。一般不需要直接访问 mysql 数据库和表,但有时需要直接访问。例如,查看数据库所有用户账号列表时。 USE mysql; …...
[Mongodb 5.0]单机启动
安装完mongodb后,会自动生成下面两个目录(mongod.conf中设定的),用来存放日志和数据 /var/lib/mongo (数据目录) /var/log/mongodb (日志目录) 要启动一个单机版的mongodb,一般有两种方式: 第一种启动方式:直接使用…...
[HDLBits] Exams/m2014 q4b
Implement the following circuit: module top_module (input clk,input d, input ar, // asynchronous resetoutput q);always(posedge clk or posedge ar) beginif(ar)q<1b0;elseq<d;end endmodule...
数据结构入门:队列
目录 文章目录 前言 1.队列 1.1 队列的概念及结构 1.2 队列的实现 1.2.1 队列的定义 1.2.2队列的初始化 1.2.3 入队 1.2.4 判空 1.2.5 出队 1.2.6 队头队尾数据 1.2.7 队列长度 1.2.8 队列销毁 总结 前言 队列,作为一种重要的数据结构,在计算机科学中扮演…...
面试热题(合并K个升序链表)
给定一个链表数组,每个链表都已经按升序排列。 请将所有链表合并到一个升序链表中,返回合并后的链表。 输入:lists [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [1->4->5,1…...
优化过多if else判断代码
有些判断难免会遇到很多 if else 看起来很头疼 下面是一个优化示例 修改前 if(this.$route.query.deptId){this.queryParams.deptId this.$route.query.deptId}else if (this.$store.state.adaptation.roleSign.includes(fengongsicengji)) {const ancestorsId this.$stor…...
最强自动化测试框架Playwright (27)-跟踪查看器
Playwright Trace Viewer 是一个 GUI 工具,可帮助您在脚本运行后探索记录的 Playwright 跟踪。可以本地打开,也可以在trace.playwright.dev.打开, 录制跟踪文件 使用context.tracing.start进行录制,使用stop方法保存录制文件 b…...
【工作中问题解决实践 十一】Kafka消费者消费堆积且频繁rebalance
最近有点不走运,老是遇到基础服务的问题,还是记着点儿解决方法,以后再遇到快速解决吧,今天遇到这个问题倒不算紧急,但也能通过这个问题熟悉一下Kafka的配置。 问题背景 正在开会的时候突然收到一连串的报警ÿ…...
ChatGpt提示词大全
中文版本 行为 提示词 Linux终端 我希望你能充当一个linux终端。我将输入命令,你会回复终端应该显示什么。我想让你只回复在一个唯一的代码块内的终端输出,而没有别的。不要写一些解释。不要键入命令,除非我指示你这样做。当我需要用英语告…...
利用SimpleDateFormat或者LocalDateTime生成格式为“yyyy-MM-dd HH:mm:ss“的当前时间
java程序: // 利用LocalDateTime生成格式为"yyyy-MM-dd HH:mm:ss"的当前时间 DateTimeFormatter formatter DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime now LocalDateTime.now(); String time1 now.format(format…...
使用 Postman 批量发送请求的最佳实践
目录 背景 批量发送? 起因 思考 Postman 批量发送接口 创建集合和接口 批量发送接口 资料获取方法 背景 最近写了几个接口: 获取 books 的接口获取 likes 的接口获取 collections 的接口 但是我还是不放心,因为这些接口到底稳不稳…...
Docker一键部署项目,无需登录XShell
文章目录 一键部署项目Docker手动部署SpringBoot项目编写docker部署的脚本文件script.sh 脚本内容 特别注意!编写dockerfiledockerfile 文件内容 上传后端服务的jar包到服务器中执行 script 脚本部署后端服务 自动部署SpringBoot项目引入jsch依赖编写jsch工具类执行…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
