查找有特定文件的子目录 --- ls命令的妙用
2013-06-18 10:36
197 查看
问题描述 在目录“/data/”下有非常多的子目录(一千个左右),目录名是类型名称,每个小时产生的数据按类型区分写入到对应的子目录中,文件命名方式是“yyyymmddhh”,每个子目录中的文件数平均约500个。一小时内不一定每总类型的数据都有,也就是说有些子目录下没有那个小时的数据文件的。现在的需求是:整点定时出一份上一小时有数据的类型名称列表,一行一个类型名称(子目录名)写入一个文本文件中
问题分析 此问题看粗看起来很简单,只要循环的判断所有子目录是否存在上个小时的数据文件就可以了。功能是完全没问题的,但代码总感觉有点罗嗦,性能似乎也不是很好。于是寻找到了更优的解决方案,主要是ls结合通配符的一个妙用,大家一看就明白
/data/ |-- type_1 | |-- 2013061809 | |-- 2013061808 |-- type_2 | |-- 2013061808
问题分析 此问题看粗看起来很简单,只要循环的判断所有子目录是否存在上个小时的数据文件就可以了。功能是完全没问题的,但代码总感觉有点罗嗦,性能似乎也不是很好。于是寻找到了更优的解决方案,主要是ls结合通配符的一个妙用,大家一看就明白
ls -1 /data/*/`date -d -30minutes +%Y%m%d%H`|awk -F"/" '{print $3}' > /tmp/list.txt
相关文章推荐
- find命令查找特定文件,并通过-exec 选项将其按照原来的目录树打包成压缩文件
- Find命令详解查找目录或文件
- linux命令行查找当前目录下所有文件是否包含特定string
- grep命令查找当前目录下包含某个字符串的所有文件
- grep命令在指定目录中的指定文件类型中查找关键字
- *Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)
- Rhel7 find查找属于特定用户或组的文件,并将其拷贝到指定目录
- 系统目录结构-ls命令-文件类型-alias命令
- Linux命令查找目录下的所有文件
- linux常用命令笔记(一):目录切换、查找文件、权限设置
- 当前目录中查找特定类型的文件
- linux下查找某目录下所有文件包含某字符串的命令
- 2017-12-15 1周5次课 Linux目录结构、ls命令、文件类型、别名
- 系统目录结构,ls,alias,which命令以及文件类型
- 查找某个命令相应文件所在目录的方法
- Linux系统目录结构、ls命令、文件类型、alias命令
- go语言实现遍历目录,及查找特定的文件类型
- 第五课 系统目录结构、文件类型及ls、alias命令的使用
- Linux系统目录结构、文件类型、ls和alias命令
- 用python查找在指定目录下特定文件夹下的指定文件