一种基于SHELL下查找指定目录下所有文件的遍历方法技术

技术编号:11139711 阅读:128 留言:0更新日期:2015-03-12 20:02
本发明专利技术提供一种基于SHELL下查找指定目录下所有文件的遍历方法,方法如下:对第一层目录下的文件进行并行处理;对每层目录下的文件分目录和非目录文件处理;对非目录文件运行ls–al命令进行处理;用find命令查找目录文件则进行递归处理;将最终遍历结果进行处理;本发明专利技术和现有技术相比,提供一种不必该个文件进行遍历,而是将文件进行分类,利用目录与非目录目录的不同处理方法,对文件的信息进行处理,同时运用并行处理方法代替常规的串行处理方式,来提高查找的时间效率。该方法运用简单的常用处理命令进行组合,来实现对常规目录遍历方式的整改,提供一种较为灵活的方法。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地说是一种基于SHELL下查找指定目录下所有文件的遍历方法
技术介绍
在linux下,对于查找文件来说,shell命令能及运用命令组成脚本的方式相比C语言来说其效率远远高于,其直接调用系统方式的方法提供了更快的便捷性。在查找下,对某个目录下的所有文件进行遍历是有时会遇到的情况,其查找方法不能通过普通的find查找文件方式,而必须对所有文件进行遍历,来获取每一个文件的相关信息。在常规遍历方式中,对每一层目录下的每一个文件都需要进行判断是否满足查询条件,这样的方式对大文件数据来说,其效率的执行度很低。该方法是一种巧用find的查询方式,既能获取所有文件的相关信息,又可大服提高查询处理的效率。传统的方法是通过对一层目录下的所有文件一一进行判断,若为目录,则递归进入下一层目录,若为非目录文件,则进行处理,处理分为对常规文件的处理,及链接文件,块文件等的处理,这样的方式每个文件都需要进行逻辑判断是否满足所要查询的文件类型,而后才能进行下一步的处理。 
技术实现思路
本专利技术的目的是克服现有技术中存在的不足,提供一种基于SHELL下查找指定目录下所有文件的遍历方法,在shell脚本编程过程中,会有对某个目录下的所有文件进行遍历以进行进一下的某些操作。本专利技术的技术方案是按以下方式实现的,方法如下:1)对第一层目录下的文件进行并行处理;2)对每层目录下的文件分目录和非目录文件处理;3)对非目录文件运行ls –al命令进行处理;4)用find命令查找目录文件则进行递归处理;5)将最终遍历结果进行处理;查找过程可巧用进程后台并发执行的特点,对第一层信息进行并发处理提高效率,只对第一层处理考率至后续信息组合的复杂度;本专利技术的优点是:本专利技术的一种基于SHELL下查找指定目录下所有文件的遍历方法和现有技术相比,提供一种不必该个文件进行遍历,而是将文件进行分类,利用目录与非目录目录的不同处理方法,对文件的信息进行处理,同时运用并行处理方法代替常规的串行处理方式,来提高查找的时间效率。该方法运用简单的常用处理命令进行组合,来实现对常规目录遍历方式的整改,提供一种较为灵活的方法。具体实施方式下面对本专利技术的一种基于SHELL下查找指定目录下所有文件的遍历方法作以下详细说明。本专利技术的一种基于SHELL下查找指定目录下所有文件的遍历方法,方法如下:1)对第一层目录下的文件进行并行处理;2)对每层目录下的文件分目录和非目录文件处理;3)对非目录文件运行ls –al命令进行处理;4)用find命令查找目录文件则进行递归处理;5)将最终遍历结果进行处理;查找过程可巧用进程后台并发执行的特点,对第一层信息进行并发处理提高效率,只对第一层处理考率至后续信息组合的复杂度;对每一层目录下的文件不必再挨个进行判断,而是直接区分目录文件与非目录文件,这样对非目录文件的处理则可以进行统一化,既可得到正确信息,更可提高效率。该方法通过以下相关命令来实现:1)find命令find命令是比较常用的查找命令,此方法中仅利用find查找命令中的查找目录功能。find 目录 -maxdepth 1 -type d | sed '1d'说明:此语句find段意义为查找当前层目录下的所有目录文件,sed '1d'是对查找结果的第一条无效信息进行处理。2)ls 命令ls 命令是常规的显示文件信息命令,其丰富的查找属性为该提供了依据。 ls -al 目录 | sed -r \1d;/^d/d;/^l/d; \说明:此语句ls段意义为对当前层目录下的所有文件获取信息,sed -r \1d;/^d/d;/^l/d; \是对结果中的第一条无效信息,以及目录文件,链接文件进行屏蔽处理。3)& 后台并行执行命令( ( scandir $1;echo 1>> lflag.txt ) & )说明:对第一层目录下的目录进行递归查询,并放于后台运行,则各子目录是并行执行的,而不是必须前一个完成,后一个再执行的串行处理。本专利技术的一种基于SHELL下查找指定目录下所有文件的遍历方法其加工制作非常简单方便,按照说明书所示即可加工。除说明书所述的技术特征外,均为本专业技术人员的已知技术。本文档来自技高网...

【技术保护点】
一种基于SHELL下查找指定目录下所有文件的遍历方法,其特征在于方法如下:1)对第一层目录下的文件进行并行处理;2)对每层目录下的文件分目录和非目录文件处理;3)对非目录文件运行ls –al命令进行处理;4)用find命令查找目录文件则进行递归处理;5)将最终遍历结果进行处理;查找过程可巧用进程后台并发执行的特点,对第一层信息进行并发处理提高效率,只对第一层处理考率至后续信息组合的复杂度。

【技术特征摘要】
1.一种基于SHELL下查找指定目录下所有文件的遍历方法,其特征在于方法如下:
1)对第一层目录下的文件进行并行处理;
2)对每层目录下的文件分目录和非目录文件处理;
3)对非目录文件运行ls –al命令进行...

【专利技术属性】
技术研发人员:邢乃栋
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1