首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

递归地将linux文件和文件夹名称(如"%m-%d-%y.tar“)替换为其实际创建的月/日/年

递归地将Linux文件和文件夹名称替换为其实际创建的月/日/年,可以通过编写一个脚本来实现。以下是一个示例的Python脚本:

代码语言:txt
复制
import os
import re
import datetime

def rename_files(path):
    for root, dirs, files in os.walk(path):
        for file in files:
            # 提取文件名中的日期信息
            match = re.search(r'(\d{2})-(\d{2})-(\d{2})', file)
            if match:
                # 解析日期信息
                month = int(match.group(1))
                day = int(match.group(2))
                year = int(match.group(3))
                # 构建新的文件名
                new_name = datetime.date(year, month, day).strftime("%m-%d-%Y") + os.path.splitext(file)[1]
                # 重命名文件
                os.rename(os.path.join(root, file), os.path.join(root, new_name))

        for dir in dirs:
            # 提取文件夹名中的日期信息
            match = re.search(r'(\d{2})-(\d{2})-(\d{2})', dir)
            if match:
                # 解析日期信息
                month = int(match.group(1))
                day = int(match.group(2))
                year = int(match.group(3))
                # 构建新的文件夹名
                new_name = datetime.date(year, month, day).strftime("%m-%d-%Y")
                # 重命名文件夹
                os.rename(os.path.join(root, dir), os.path.join(root, new_name))

# 调用函数,传入需要递归处理的文件夹路径
rename_files('/path/to/directory')

这个脚本会递归地遍历指定路径下的所有文件和文件夹,对于文件名和文件夹名中包含日期信息的项,会将其替换为实际创建日期的格式(月/日/年)。例如,文件名为"01-01-20.tar"的文件会被重命名为"01-01-2020.tar"。

这个脚本使用了正则表达式来匹配文件名和文件夹名中的日期信息,并使用datetime模块来解析和格式化日期。你可以根据实际需求进行修改和定制。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性的云服务器实例,用于部署和运行应用程序。
  • 对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于存储和管理大量的文件和数据。
  • 云函数(SCF):无服务器的事件驱动型计算服务,可用于编写和运行无需管理服务器的代码。
  • 云数据库 MySQL(CMYSQL):提供高性能、可扩展的云数据库服务,适用于存储和管理结构化数据。
  • 人工智能平台(AI):提供丰富的人工智能服务和工具,包括图像识别、语音识别、自然语言处理等。
  • 物联网开发平台(IoT):提供全面的物联网解决方案,用于连接、管理和控制物联网设备。
  • 移动推送(Xinge):提供跨平台的消息推送服务,用于向移动应用用户发送推送通知。
  • 云存储网关(CSG):提供本地存储和云存储之间的数据传输和同步服务,用于实现混合云存储方案。

请注意,以上只是腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux常见命令操作

​ 2、* 后可解格式后缀,匹配该格式文件 *cp .txt … :表示当前目录所有txt格式内容拷贝到上级目录 云服务器中 Linux 是没有垃圾站 Linux下一切皆文件...覆盖文件之前先询问用户 -r 递归处理,指定目录下文件与子目录一并处理。...1(UTC/GMT午夜)开始所经过秒数,不考虑闰秒 举例: [liren@VM-8-2-centos ~]$ date +%Y-%m-%d-%H:%M:%S 2022-07-15-13:46:14...当前,下一个月历 -j 显示在当年中第几天(一期按天算,从11号算起,默认显示当前在一天数) -y 显示当前年份日历 举例: Cal -y 2022 ⏯ find 指令 (非常重要....zip 目录或文件 功能: 目录或文件压缩成zip格式**(默认只进行本层目录文件压缩,若有子目录等,默认不会压缩进去)** 常用选项: -r **(配合 zip 使用)**递归处理,指定目录下所有文件子目录一并处理

67530
  • Python-执行系统命令

    .* 后面三个已经废弃,以上执行shell命令相关模块函数功能均在subprocess模块中实现,并提供了更加丰富功能 call 执行命令,返回状态码。...) shutil 高级文件文件夹、压缩包处理模块 shutil.copyfileobj(fsrc,fdst,length)文件内容拷贝到另一个文件中,length是每次读取多少拷贝 import...import shutil shutil.copyfile('test1.py','test7.py') 尽拷贝权限,内容组用户均不变 shutil.copymode(src, dst) 创建压缩包并返回文件路径...:压缩包种类 zip tar batar  gztar root_dir: 要压缩文件夹路径,默认是当前目录 实例 import shutil # /user/local/ftp下面的文件www打包放置在当前程序目录...1之后秒 time.time() 格式化字符串 2015-12-12 12:12 结构化时间 元组包含了:、星期等 time.struct_time time.localtime

    834100

    python 日期与时间

    ######time.time time.time()函数返回从197011以来秒数,这是一个浮点数。 ######time.sleep 可以通过调用time.sleep来挂起当前进程。...下面的例子struct_time对象转换为字符串表示: import time print time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())...该对象实际上是挂钟时间转换为、时、分、秒……等日期信息,存储在该对象各个属性中(tm_year, tm_mon, tm_mday…)。...比如说我现在看到时间,是20129321时30分,我们可以用如下方式表达: import datetime t = datetime.datetime(2012,9,3,21,30) print...%W 一星期数(00-53)星期一为星期开始 %x 本地相应日期表示 %X 本地相应时间表示 %Z 当前时区名称 %% %号本身

    2K100

    不熟悉Linux指令?看这篇就够了!

    前言 在深入学习后端进阶技术时,我们经常会Linux系统打交道,因为Linux是目前应用最广泛服务器操作系统,能长时间稳定跑我们编写程序代码,几乎成为程序代码运行最佳系统环境。...选项可以连着写,-l,-a,-la ---- 二、基础指令 1、ls指令 1.含义:list(列表) 2.作用:列出当前工作目录下所有文件/文件夹名称 image.png 3.用法: (1)#ls.../文件夹名称 简写为 #ll 注意:ls列出结果颜色说明,其中蓝色名称表示文件夹,黑色表示文件,绿色权限为拥有所有权限。.../test 当前工作目录test文件夹复制到上一个工作目录下 注意:当使用cp命令进行文件夹复制操作时候需要添加选项“-r” -recursive 【-r表示递归复制】,否则目录将被忽略 image.png...2 12 星期六 15:54:28 语法2:#date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2022-02-12 语法3:#date “+%F %T” (等价操作

    2.7K75

    Linux】基本指令 (下篇)

    :date +%s; 时间戳转换为时间:date -d@时间戳数值; 注:时间戳是指从1970110时0分0秒(UTC/GMT 午夜)开始到现在所经过秒数,不考虑闰秒;同时,由于我国处于东八区...,所以对应过来我国是1970118时0分0秒; 指令演示 1、格式化显示当前时间: 2、时间戳生成与转换: cal 指令 cal命令可以用来显示公历(阳历)日历。...,后n/2个月历; -j 显示在当年中第几天(一期按天算,从11号算起,默认显示当前在一天数); -y 显示当前年份日历; 指令演示 find 指令 语法:find...zip 指令 语法:: zip [压缩文件.zip] [目录或文件]; 功能:目录或文件压缩成zip格式; 常用选项 -r:递归处理,指定目录下所有文件子目录一并处理; 拓展知识 1、我们为什么要对文件进行打包与压缩...,而将该文件夹压缩操作叫压缩;打包压缩是两个不同概念,但是目前我们不对做详细区分; 结合上面的两个例子,我们为什么要对文件进行打包与压缩呢?

    1.4K00

    一口气介绍25个Linux基础指令

    ls –ai 指定文件 -k 以 k 字节形式表示文件大小。 ls –alk 指定文件 -l 列出文件详细信息。 -n 用数字 UID,GID 代替名称。...像/home/yui/test就是路径,/就是路径分割符。除了最后一个/后面的名字可能是文件,其余都一定是目录或者说是文件夹Linux整体目录结构是一颗多叉树样子。...1(UTC/GMT 午夜)开始所经过秒数,不考虑闰秒。...常用选项: -3 显示系统前一个,当月,下一个 -j 显示在当年中第几天(一期按天算,从一算起,默认显示当前在一天数) -y 显示当前年份日历 2.19 find指令 Linux...常用选项: -r 递归处理,指定目录下所有文件子目录一并处理。

    10510

    Linux 常用zip压缩和解压命令详解

    相信很多小伙伴在使用Linux系统中经常对文件进行或者文件夹进行操作,不像在Windows中可以使用可视化工具对文件文件夹进行压缩和解压操作,那么本次与大家一起学习Linux下zipunzip压缩和解压命令...如上图中,test文件夹下有:admin文件夹、index test两个文件,现在将其打包为一个admin.zip压缩文件执行命令是: zip -p -r admin.zip admin/   ...具体如下图: zip命令介绍   zip在Linux系统中用于压缩文件文件夹,zip是在WindowsLinux等系统中常用压缩程序,压缩后后缀名为.zip。...-o 以压缩文件内拥有最新更改时间文件为准,压缩文件更改时间设成文件相同。 -q 不显示指令执行过程。 -r 递归处理,指定目录下所有文件子目录一并处理。 -S 包含系统隐藏文件。...-T 压缩文件内每个文件日期时间用,时,分,秒顺序列出。 -v 详细显示压缩文件内每一个文件信息。 -x 不列出符合条件文件信息。

    3.6K20

    UNIX时间戳北京时间相互转换

    什么是时间戳 准确说,应该是unix时间戳,是从197011(UTC/GMT午夜)开始所经过秒数,不考虑闰秒。...在线转换 下面介绍在Keil环境下,或者是C语言环境下,利用time.h头文件两个函数实现UNIX时间戳标准北京时间之间转换方法。...; /* 一第几天,范围0-365 */ int tm_isdst; /* 夏令时标志 */ }; 这里,我们要注意几个时间修正: /* 年份自1900算起,转换为实际年份,要+1900...月份范围0-11,转换为实际月份,要+1 星期范围0-6,转换为实际星期,要+1 */ 三个函数: struct tm * localtime(const time_t *); /* 给定一个毫秒级时间戳...yday = time->tm_yday; /* 从11算起,范围0-365 */ day = time->tm_mday; /* : 1-31 */ hour = time

    11.2K40

    Linux命令(50)——date命令

    在类Unix系统中,日期被存储为一个整数,大小为协调世界时(UTC)1970110时0分0秒起流逝秒数,即Unix时间戳。 2.命令格式 date [OPTION]......%Y比较像,但不显示最后两个数字,20 %d 一个第几天(01~31) %D 日期,等同于%m/%d/%y,12/06/18 %e 一个第几天(1~31),单数字以空格填充,等同于%_d...%F 日期,等同于%Y-%m-%d,2018-12-06 %g 最后两个数字(yy),比如2018则输出18,等同于%y %G 年份(yyyy) %h 简称(Jan~Dec),等同于%b %H...(+0800) %:z 以+hh:mm格式显示时区(+08:00) %::z 以+hh:mm:ss格式显示时区(+08:00:00) %Z 缩写显示时区名称CST(China Standard...date +%s 1544067345 (2)Unix时间戳转换为可读时间。

    3.4K40

    WinCE程序CC++C#实现带时间标记日志记录

    本文虽然是在WinCE平台下进行,但是显然更能够在XP平台上运行,甚至只要对一些文件接口函数进行修改,可以在Linux平台下实现相应功能。    ...char strTimeFileName[20];//当前时间转换成字符串---声明字符串长度时候,要比实际长度多1,作为结尾符号 strftime(strTimeFileName, sizeof...(strTimeFileName), "%Y-%m-%d",&tim);//年月字符串 strcat(strTimeFileName,".logFile");//加上扩展名--登录日志...char strTimeFileName[20];//当前时间转换成字符串---声明字符串长度时候,要比实际长度多1,作为结尾符号 SYSTEMTIME sysTime; GetLocalTime.../// “我设备”中所有文件夹,只有“FlashDisk”“FlashDisk2”文件夹内容掉电后不会丢失, /// 所以用户需要保存文件可以保存在该文件夹

    39710

    你有一个好归档习惯吗?

    备忘扯一扯最近散仙在工作用到几个不错小技术点: (1)使用shell写了一个根据年份能生成此年份下归档文件目录,精确到---小时 谈谈本意: 由于散仙最近是在搞我们平台搜索日志分析工作...那就来吧,这个脚本对你很适合,你只需要稍稍微创新一下,就能改造非常个性化,比如你在年,,小时目录下,新建了分类很细目录,对各种常用文件归档,根据文件后缀名,都建立一个文件夹,在各个文件夹下你还可以继续分类...|30|31" | tail -1 | awk '{print $NF}'` for d in `seq -w 01 $lastday ` do #创建文件夹 mkdir -...p $y/$m/$d/ for h in `seq -w 00 23` do #创建小时文件夹 mkdir -p $y/$m/$d/$h echo "$y$m...$d$h小时里数据" >> $y/$m/$d/$h/$y-$m-$d-$h.txt done done #echo $m done echo

    88240

    通过指令深入了解Linux 3

    1.Linux基本指令 1.1 more指令(有更好) 语法: more [选项][文件] 功能: more指令,功能类似于cat 常用选项: -n对输出所有行编号 q退出more 当我们在查看短文件时...那么更好less就登场了。 1.2 less指令 less工具也是对文件或其他输出进行分页显示工具,应该说是Linux正统查看文件内容工具,功能极其强大。...1(UTC/GMT 午夜)开始所经过秒数,不考虑闰秒。...语法: cal [参数][月份][年份] 功能: 用于查看日历等时间信息,只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份年份。...常用选项: -3 显示系统前一个,当月,下一个 -j 显示在当年中第几天(一期按天算,从一算起,默认显示当前在一天数) -y 显示当前年份日历 1.7 find指令 Linux

    6410

    linux20个常用命令_常用shell命令

    1.ls指令: 用法一:#ls list——列表,列出当前工作目录下,所有文件文件夹名称 用法二:#ls + 路径 列出当指定路径下,所有文件文件夹名称 ---- 补充:绝对路径相对路径 相对路径...——#cd ~: 4.mkdir—— 创建目录 make directory 格式1:#mkdir 路径(可以是文件夹名称,也可以是完整包含名称路径) eg.在当前路径下创建目录 wenjian1—...Linux中cp命令是可以复制时同时改名,但不建议这么做 当使用cp命令进行文件夹多级复制时需要添加选项 -r,否则文件夹将被忽略复制 (-r意思是递归复制,recursive递归文件夹类型下面可能还有文件夹...#date 输出:2021 12 14 星期二 00:21:46 PST (PST指太平洋标准时间,CST指中国标准时间) ---- 补充:更改时区——使用timedatectl命令 # timedatectl...格式2:#cal -3 ——输出最近三个日历(上个月 本月 下个月) 格式3:#cal -y 年份——输出某一日历 9.clear/ctrl+l 指令 作用:清除终端中已经存命令结果(信息

    3.2K20

    Linux-基础实用指令(不会还有人不知道吧)

    上两级目录 文件夹 ---- mkdir Make Directory缩写,创建目录(文件夹) mkdir [-p] dirName 可选参数-p表示同时创建多级目录 rmdir Remove...-b -n 相似,只不过对于空白行不编号 -s 当遇到有连续两行以上空白行,就代换为一行空白行 -E 在每行结束处显示 $ -T TAB 字符显示为 ^I (插播反爬信息 )博主CSDN...-e 启用反斜杠转义解释 -E 禁用反斜杠转义解释 查找 ---- find 从指定目录向下递归遍历各个子目录,满足条件文件或者目录显示在终端 find path -option [...-q 不显示指令执行过程 -r 递归处理,指定目录下所有文件子目录一并处理 -t 把压缩文件日期设成指定日期 -T 检查备份文件每个文件是否正确无误 -v 显示指令执行过程或显示版本信息...12) %M 分钟(00…59) %p 显示本地 AM 或 PM %r 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s 从 1970 1 1 00:00:00 UTC

    46931

    又肝了3天,整理了80个Python DateTime 例子,必须收藏!

    从当前日期获取 7 天前日期 两个日期时间对象之间差值转换为秒 获得任何一个第三个星期五 从 Python 中周数获取日期 获取特定日期工作 创建一个 15 分钟前 DateTime...查找给定日期之后第一个星期日日期 (Unix)时间戳秒转换为日期时间字符串 以月为单位两个日期之间差异 本地时间字符串转换为 UTC 获取当月最后一个星期四 从特定日期查找一第几周...从给定日期获取星期几 用 AM PM 打印当前时间 获得一个最后一天 从工作值中获取工作名称 N 小时数添加到当前日期时间 从当前日期获取、小时、分钟 获取特定月份年份最后一个星期日...3 周添加到任何特定日期 在其他两个日期之间生成一个随机日期 查找从今天开始第一个星期一日期 两个日期之间差异(以天为单位) 向当前日期添加六个 数据时间对象转换为 Unix(时间戳) ...、、时、分、秒 N 个数字添加到当前日期时间 获取指定开始日期结束日期之间日期范围 减去 N 个、时、分、秒到当前日期时间 获取指定年份月份月份第一天工作月份天数 打印特定年份所有星期一

    8.8K30
    领券