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

Bash:根据文件名中的日期范围查找所有文件

Bash是一种Unix shell和命令语言,常用于在Linux和其他类Unix操作系统上进行脚本编程和命令行操作。它提供了一种交互式的方式来与操作系统进行通信,并且可以执行各种系统命令和脚本。

对于根据文件名中的日期范围查找所有文件的需求,可以使用Bash的通配符和循环结构来实现。以下是一个示例脚本:

代码语言:txt
复制
#!/bin/bash

start_date="2022-01-01"
end_date="2022-01-31"

# 将日期范围转换为时间戳
start_timestamp=$(date -d "$start_date" +%s)
end_timestamp=$(date -d "$end_date" +%s)

# 遍历当前目录下的所有文件
for file in *
do
    # 提取文件名中的日期部分
    filename=$(basename "$file")
    date_part="${filename%.*}"

    # 将日期部分转换为时间戳
    file_timestamp=$(date -d "$date_part" +%s)

    # 判断文件的日期是否在范围内
    if [[ $file_timestamp -ge $start_timestamp && $file_timestamp -le $end_timestamp ]]
    then
        echo "$file"
    fi
done

这个脚本首先定义了一个起始日期和结束日期,然后使用date命令将它们转换为时间戳。接下来,通过循环遍历当前目录下的所有文件,提取文件名中的日期部分,并将其转换为时间戳。最后,通过比较文件的时间戳和起始日期、结束日期的时间戳来判断文件是否在日期范围内,并输出符合条件的文件名。

在腾讯云的产品中,可以使用对象存储服务 COS(Cloud Object Storage)来存储和管理文件。COS提供了高可靠性、高可用性的存储空间,适用于各种场景,包括数据备份、静态网站托管、大规模数据处理等。您可以通过以下链接了解更多关于腾讯云对象存储 COS 的信息:腾讯云对象存储 COS

请注意,以上答案仅供参考,实际应用中可能需要根据具体情况进行调整和优化。

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

相关·内容

Python读取文件夹中的所有Excel文件名

【知识点一】 Python os.walk() 方法 概述 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。...os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。...root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录...如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。 onerror -- 可选,需要一个callable 对象,当 walk 需要异常时,会调用。...os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。它不包括 '.' 和'..' 即使它在文件夹中。

6.8K10

python根据已有文件名的文件复制文件到新文件夹中

最近需要对一些图片进行整理,需要从一堆图片中将已经存在在文件中的图片移动到另外一个新的文件夹中,所以就特意就写了一个小玩意方便使用.下面是代码实现: # -*- coding: utf-8 -*- #...' file_path = r'C:\Users\zjk\Desktop\已有图片信息.txt' #从文件中获取要拷贝的文件的信息 def get_filename_from_txt(file):...lists: filename_lists.append(str(list).strip('\n')+'.jpg') return filename_lists #拷贝文件到新的文件夹中...print(filename) if __name__ == "__main__": #执行获取文件信息的程序 filename_lists = get_filename_from_txt...(file_path) #根据获取的信息进行遍历输出 for filename in filename_lists: mycopy(oldpath,newpath,filename

3.8K30
  • 高质量编码--使用Pandas查询日期文件名中的数据

    如下场景:数据按照日期保存为文件夹,文件夹中数据又按照分钟保存为csv文件。...image.png image.png image.png 2019-07-28文件夹和2019-07-29中的文件分别如下: image.png image.png 代码如下,其中subDirTimeFormat...,fileTimeFormat,requestTimeFormat分别来指定文件夹解析格式,文件解析格式,以及查询参数日期解析格式: import os import pandas as pd onedayDelta...',12,"name",["value1","value2"]) print(result) 让我们查询2019-07-28 05:29到2019-07-29 17:29之间name为12的数据...看一下调用结果: 通过比较检验,确认返回结果和csv文件中的数据是一致的, name为12在各个csv中数据如下: image.png image.png image.png image.png

    2K30

    C#如何遍历某个文件夹中的所有子文件和子文件夹(循环递归遍历多层),得到所有的文件名,存储在数组列表中

    D:\\test"; List nameList = new List(); Director(path,nameList); 响应(调用)代码如上面,比如写在某个事件中。...首先是有一个已知的路径,现在要遍历该路径下的所有文件及文件夹,因此定义了一个列表,用于存放遍历到的文件名。...list.Add(f.Name);//添加文件名到列表中 } //获取子文件夹内的文件列表,递归遍历 foreach (DirectoryInfo...dd in directs) { Director(dd.FullName, list); } } 这样就得到了一个列表,其中存储了所有的文件名,如果要对某一个文件进行操作...,可以循环查找: foreach (string fileName in nameList) { if (fileName == "***") {...} }

    14.4K40

    查找目录下所有java文件查找Java文件中的Toast在对应行中找出对应的id使用id在String中查找对应的toast提示信息。

    妈呀,自己查找,还要根据查找id找到对应string,比较坑。于是就顺带练手写了个python脚本来处理这个问题。当然编码相对不太规范,异常处理也没做。由于lz好久没写过python脚本了,相当生疏。...几乎是边查文档编写,记录写编写过程: 查找目录下所有java文件 查找Java文件中含有Toast相关的行 在对应行中找出对应的id 使用id在String中查找对应的toast提示信息。...查找目录下所有java文件 这个我是直接copy网上递归遍历的,省略。...查找Java文件中的Toast 需要找出Toast的特征,项目中有两个Toast类 BannerTips和ToastUtils 两个类。 1.先代码过滤对应的行。...在对应行中找出对应的id 使用id在String中查找对应的toast提示信息。 最后去重。 最后一个比较简单,可以自己写,也可以解析下xml写。

    3.9K40

    ExcelVBA-批量打开文件夹中的所有文件,并查找指定姓名再复制整行数到汇总表

    ExcelVBA-批量打开文件夹中的所有文件,并查找指定姓名再复制整行数到汇总表 【问题】今天碰到一个问题,要社保系统中导出的在许多文件中查找到某个姓名的并复制数据到汇总表, 难点一:如果有许多文件,...常规的做法是打开一个文件===查找===复制===粘贴===关闭,再来一次, 难点二:要命的社保系统,数据中有很多合并的单元格,查找的时候速度很慢,也很难复制 难点三:这样的问题以后可能还常常有。...【想一想】 天啊要做到什么时候,如果以后也有同样的事,我是不是也一样这样做呢!,想想都怕怕啊,能不能一键完成,我再整合成一个函数,以后也相应的问题也会快一点呢!这样岂不是一件一劳永逸的事吗?...====代码图片版本如下==== ====效果如下动图=== 代码解析: Alt+F11,新建一个模板,把它放在里面,按play就可以啦 先打开文件对话框,选择要找的文件夹,全选所有的文件 ,文件名与路径存入到数据中...,再循环数组,打开文件,在工作表“编辑”(这个工作表要先设定)中用find查找数据,如果找到了就进行整行复制,到汇总表中。

    2.9K20

    shell中的for循环用法详解

    $0: 文件名 $*: 所有位置变量的内容 编写脚本应该注意的事项: 开头指定使用什么shell,例如:bash,ksh,csh等 脚本功能描述,使用方法,作者,版本,日期等 变量名,函数名要有实际意义...没有值,则会把根目录下的文件删除 脚本中尽量不要使用cd变换目录 函数中也要有功能描述,使用依法,版本,日期等 函数的功能要单一,不要太复杂 $()比` `更好 尽量不要使用多层if语句,而应该以case.../bin/bash for i in $(cat /root/users.txt) --》从列表文件读取文件名 do useradd $i echo "123456" |...$0 –》代表的是脚本自己的名字 (位置变量的最常用用法:bash 1.sh 变量1 变量2…) 预定义变量: $#:命令行中位置变量的个数 $*:所有位置变量的内容(较少使用) $@:所有位置变量的内容...就返回0,不成功则返回1 根据IP地址检查网络中存活的主机IP(大范围的扫描) #!

    2.4K50

    Linux-使用 Find 命令找到那些需要清理的文件

    计算目录中的文件数 要计算目录中的文件数,你可以使用这样一个 find 命令。 xgj@/>find ....-type f | wc -l 117203 ---- 查找最老或者最新的文件 虽然查找最老的和最新的文件是比较复杂,但还是相当方便的。.../apche/log/ftp.log printf 命令输出 %T(文件日期和时间)和 %P(带路径的文件名)参数。...---- 忽略以.开头的文件 如果我们在查找家目录时,无疑会发现,history 文件(如 .bash_history)是最新的,这并没有什么用。...find -type f -printf '%a+ %p\n' | sort | tail -n 1 要想层次分明,可以为一个文件系统或大目录创建一个总结报告,显示这些文件的日期范围、最大的文件、文件所有者们

    79140

    Linux下常用的shell脚本整理

    语法:wc [选项] 文件…   说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。   ...输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。 行数、字数、字节数、文件名 如果命令行中没有文件名,则输出中不出现文件名。...并发送短信和邮件报告~   -t1 表示只请求一次   -T2 表示2秒超时 26、linux查找文件的一些方法   1) 按文件名查找   #在/opt目录及其子目录下查找包含文件名是以zhjedu...d   #在/opt目录及其子目录下查找所有的普通文件   find /opt -type f   4) 按大小查找   #在/opt目录及其子目录下查找文件大于10M的文件   find /opt...$date.txt   33、根据起止日期打印期间的日期   Shell代码   1. #!/bin/sh   2.

    4.1K40

    linux常用指令学习记录

    ,builtin表示为bash内置的命令功能 -p: 如果name为外部命令,会显示完整的文件名 -a: 会将所有在PATH路径下包含name的命令显示出来 命令与文件查询 which 寻找执行文件,...查找命令的完整文件名 which [-a] command #-a会将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的指令 which ifconfig #在非root用户下会查找不到,因为...ifconfig位于/sbin/ifconfig下,而非root用户的PATH中不包含该路径,所以找不到 which cd #找不到,因为cd为bash的内置命令 whereis 根据文件名寻找文件,查找文件的完整文件名...locate会根据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名,即所有包含该关键字的文件都将被输出。...但是因为数据库的更新一般为一天一次,所以如果需要查找新的内容,需要用updatedb指令更新数据库,updatedb会根据/etc/updatedb.conf去查找硬盘内的文件名,并更新数据库文件 locate

    1.3K20

    linux中find命令基本使用方法_find命令用法及参数

    find查找命令可以在各种条件下使用,我们可以通过权限,用户,组,文件类型,修改日期,大小等多种条件来查找文件。 这里我会以实例的形式向大家说明find命令的具体用法。...在这里,我们首先用下表说明find命令各参数的含义: find命令参数 具体含义 -name 按文件名称查找 -user 按文件拥有者查找 -group 按文件拥有组查找 -type 按文件类型查找 -...perm 按文件权限查找 -exec 对查找到的文件执行指定动作 -maxdepth / -mindepth 指定查找范围最大/最小为第几级目录 -cmin 按文件修改时间查找 -size 按文件大小查找...5个文件 2)按名称查找/mnt中的文件,想要模糊查找时(即表达式中含有*)需要加” “ 3)-mindepth x -maxdepth y 指定查找目录范围为第x级子目录到第y级子目录...下图命令是在/mnt下查找文件权限u、g、o位(只要)任意一位有写权限w的文件,并对查找出的所有文件减去写权限,{}表示find命令查找结果 注意: 在使用分号的时候前面要加转译字符\,因为分号也是bash

    1.2K20

    Shell 编程(三):Shell 编程中的常用工具

    此数据库是本地系统内所有文件名称及路径。系统会自动创建这个数据库,并且每天更新一次。...在安全模式下,使用者只能看到权限范围内的档案。这会使速度减慢,因为locate必须从实际的档案系统中取得档案的权限资料。.../updatedb.conf 【不想搜索的文件可以写入到 updatedb.conf 中】 使用示例 查找和crontab相关的所有文件并且只展示一个 [root@localhost /]# locate...命令格式 find [路径] [选项] [操作] 选项 选项 含义 -name 根据文件名查找 -perm 根据文件权限查找 -prune 该选项可以排除某些查找目录 -path xxx -prune...为什么which后面是文件?因为Linux一起皆为文件,执行文件也是文件 参数 作用 -n文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

    53710

    linux常用命令

    -n:在显示匹配到的字符串前面加上行号。 -v:显示没有”搜索字符串”内容的那一行。 -l:列出文件内容中有搜索字符串的文件名称。 -o:只输出文件中匹配到的部分。...表示把所有hello替换成hi。 选定行的范围:逗号 sed -n '/today/,/hello/p' huangbo.txt ## 所有在模板today和hello所确定的范围内的行都被打印。...格式: find path -option actions find [表达式] 常用可选项: -name 根据文件名查找,支持('* ' , '?...') -type 根据文件类型查找(f-普通文件,c-字符设备文件,b-块设备文件,l-链接文件,d-目录) -perm 根据文件的权限查找,比如 755 -user 根据文件拥有者查找 -group..."*linux*" /home/linux/txt/LINUX.pdf ## 查找文件名结尾是.txt或者.jpg的文件 [linux@linux txt]$ find /home/linux/txt

    2.2K10

    100个Linux命令(1)-文件处理类

    对于严格区分尾随斜线的情况时: 附带尾随斜线的表示此目录中的所有文件; 不附加尾随斜线表示此目录本身和此目录中的文件。 2.pwd命令 pwd命令用于显示当前的工作目录。...(此机制由relatime维护) bash shell 通配符 文件名通配匹配的整体的文件名,而非部分匹配 (1)* 匹配任意长度的任意字符。"*" 无法匹配文件名以 "."...shopt -s globstar #开启星号模式匹配 ls /path/**/*.css 非bash内置命令,可能会提供自己的通配符匹配,如find命令中name选项的星号(*)可以匹配以点开头的隐藏文件...[find用法-print0] (2)文件名搜索 -name可以对文件的basename进行匹配,查找的文件名,最好使用引号包围,可以使用通配符。...(9)搜索指定日期范围的文件 find /test -type f -newermt 2018-12-02 -a !

    1.7K11

    LINUX常用100条命令总结【一】

    语法:find [路径][选项] [操作] 选项: -name 根据文件名查找-perm 根据文件权限查找-prune 该选项可以排除某些查找目录-user 根据文件属主查找-group 根据文件属主查找...-mtime -n | +n 根据文件更改时间查找-nogroup 查找无效属组的文件-nouser 查找无有效属主的文件-newer file1 !...最多搜索到n级子目录 实例: 查找 /etc 目录下以 conf 结尾的文件,文件名区分大小写 find /etc -name '*.conf' 查找当前目录下所有文件名为 aa 的文件,文件名不区分大小写...实例: 删除当前目录下的所有文件及目录 rm -r * 删除当前目录下的所有文件及目录,并且是直接删除,无需逐一确认命令行为 rm -rf 要删除的文件名或目录 删除文件名 test.txt...-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

    1.8K31

    linux常用命令

    bash 代码: 语法:which(选项)(参数) 选项说明: -n文件名长度>:制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名; -p文件名长度>:与-n参数相同,...和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find...bash 代码: 语法:whereis(选项)(参数) 选项说明: -b:只查找二进制文件; -B:只在设置的目录下查找二进制文件; -f:不显示文件名前的路径名称; -m:只查找说明文件; -...) -f  将特定的档案系统排除在外,如将proc排除在外 -r  使用正则运算式做为寻找条件 使用示例: (1)查找和 pwd 相关的所有文件(文件名中包含 pwd) bash 代码: [root@...单个字符 [] 匹配范围中的,比如[0-9][a-z] {} ll {*.log,*.txt} ^ 取反ll*[^txt]*查找不是.txt结尾 6.系统环境变量 查看全部变量:env 查看单个变量:

    23910

    Linux 命令:每日一学,文件查找之find命令实践

    mlocate 包,它是直接从数据库/var/lib/mlocate/mlocate.db 中搜索文件名,而不是直接在磁盘上搜寻,所以速度很快,支持模糊查找,但是缺点是数据库文件一般一天更新一次,所以有时候可能查不到最新的文件.../tmp" #搜索时不搜索的路径 weiyigeek.top-配置updatedb.conf文件设置搜寻规则 # 3.使用 locate 命令进行文件查找 # 查找文件名或目录中带有 "conf...表示上一级目录,/ 根目录,/etc/ 指定目录 # [CONDITION] :即搜索条件,例如根据文件名、用户、权限等进行搜索 # [ACTION]:即处理动作,例如,删除、修改等,默认是输出到屏幕...匹配任意一个字符 [] 匹配任意一个中括号内的字符 x[ab]->xa或者xb [-] 匹配中括号中任意一个字符,-代表一个范围 例如,[a-z]代表匹配一个小写字母 [^] 逻辑非,表示匹配不是中括号内的一个字符...(如备份)后,检查以确定哪些文件在同步过程中被修改或者创建 # 命令流程 1.获取当前的日期和时间,并以特定格式存储到变量 T 中。

    20610

    Linux 应急响应入门:入侵排查应该这样做

    :history -c 该操作并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录 检查端口连接情况: netstat -antlp | more 使用 ps 命令,分析进程...: 根据 pid 强行停止进程: kill -9 6071 注意:如果找不到任何可疑文件,文件可能被删除,这个可疑的进程已经保存到内存中,是个内存进程。...按照时间查找 根据名称查找文件 find / -name a.Test # 如果文件名记不全,可使用通配符*来补全 # 如果不区分大小写,可以将-name 替换为-iname 依据文件大小查找 find...# 查找最近一天以内修改的文件: find / -mtime -1 -ls | more # 查找50天前修改的文件: find ./ -mtime +50 -ls 根据属主和属组查找 -user...根据属主查找 -group 根据属组查找 -nouser 查找没有属主的文件 -nogroup 查找没有属组的文件 # 查看属主是root的文件 find ./ -user root -type f

    84920
    领券