登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于Linux之下awk和RE信息检索系统设计和实现毕业论文

 2021-11-05 07:11  

摘 要

本文通过基于Linux之下C语言编程进行智能生成awk调用命令及RE匹配字符串对awk进行调用的方法,开发出了一款能够让普通用户在没有awk专业知识的情况下,也能充分利用awk对数据检索操作高性能的特性,对本地文本数据进行清洗检索的信息检索系统。

其中运用了CLI、awk、RE(正则表达式)、Linux下C语言编程等技术,解决了普通用户使用Linux下高性能检索软件门槛过高的痛点,在软件使用方法简单的同时,还保证了充分的检索性能指标,为本地文本信息检索提供了新思路。

关键词:awk;正则表达式;数据检索;命令行界面;Linux

Abstract

This paper uses a method that intelligently generating awk calling command and RE matching strings to call awk based on C language programming under Linux to develop a data retrieval software. The data retrieval software allows ordinary users to make full use of awk’s high-performance data retrieval to clean and retrieve the local text data without the knowledge of awk.

Among the data retrieval software, this paper uses such as CLI, awk, RE(regular expression), C language programming under Linux to solve the obstacle that ordinary users cannot use the high-performance retrieval software under Linux. The software is easy to use, but also guarantee full retrieval performance indicators, which provides a new idea for local text data retrieval.

Key Words:awk; RE; Data retrieval; CLI; Linux

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1 研究背景及意义 1

1.2 国内外研究现状 1

1.3本文主要工作及创新点 2

1.4 本文组织结构 2

第2章 相关技术概述 4

2.1 CLI 4

2.2 awk 4

2.3 RE 5

2.4 Linux下C语言编程 5

第3章 需求分析 7

3.1 需求概述 7

3.2 用例分析 7

3.2.1普通用户用例分析 7

3.2.2数据检索员用例分析 8

3.3 功能性需求 8

3.4 非功能性需求 9

第4章 系统总体设计 10

4.1 CLI模块 10

4.2 数据读取模块 11

4.3 数据清洗模块 12

4.4 数据重排输出模块 13

第5章 系统详细实现 15

5.1 开发环境与工具 15

5.2 详细实现 15

5.2.1 CLI用户界面模块 16

5.2.2 数据读取模块 17

5.2.3 数据清洗模块 19

5.2.4 数据重排模块 20

5.2.5 可复用自定义辅助工具函数集合 20

5.2.6 Makefile项目管理脚本 22

第6章 系统测试与运行 25

6.1 系统测试 25

6.1.1 测试用例设计 25

6.1.2 测试用例与具体结果 26

6.2 系统运行性能分析 31

第7章 总结与展望 33

7.1 总结 33

7.2 展望 33

参考文献 34

致 谢 35

附 录 软件源代码 36

附1 CLI用户界面模块 36

附2 数据读取模块 40

附3 数据清洗模块 42

附4 数据重排模块 43

附5 可复用自定义辅助工具函数集合 44

附6 含头文件合集 46

附7 程序调用入口 47

附8 Makefile脚本 48

绪论

社会进入了“大数据”驱动的人工智能时代,行业对于大数据处理技术的需求日渐增高,更高效、更稳定的方法需要被开发出来,为此无数的从业人员和学者进行了不懈的努力和尝试。

1.1 研究背景及意义

随着人类信息技术的进步和对信息技术应用规模的日益磅礴,人们在享受着信息技术带来巨大便利的同时,也在网络世界中留下了自己大量的“足迹”——信息。Web、即时通讯、娱乐游戏等等,信息在这些应用中来回穿梭和停留,随着量变促成质变,“信息”本身逐渐站在了技术舞台的中央。

因此,对信息的处理以及如何处理就显得尤为重要。目前大部分数据检索系统、模块大多基于JAVA程序设计语言或者Python程序设计语言[3][6],却鲜有基于awk和RE(正则表达式)的检索系统,再者基于Python语言的程序先天就存在较于C语言的程序在运行速度上的劣势。

基于目前大量应用场景的调研,大部分物联网数据服务器和数据库服务都是基于类Unix系统平台(包括Linux操作系统),而这些类Unix系统都原生支持awk文本处理和RE(正则表达式)解析。awk本身既是一条系统指令,又是一门简单的数据处理程序设计语言,相对于其他语言完成相同的文本处理功能,awk要简单的多,并且不需要提前编译,还能够被其他程序设计语言通过系统API所调用。而RE则是用给定模式对目标数据进行精准匹配最方便、快速的方法。

在即将进入甚至已经进入的“大数据时代”,数据检索、过滤将会成为开发人员和社会应用关注的重点之一,本文设计提出的方案旨在运用调用awk和RE的方法,在纯文本场景下实现对物联网数据的简单处理,为数据检索发展大环境提供设计灵感和解决方案雏形。

1.2 国内外研究现状

基于awk的数据检索相关研究相较于其他的语言和模块来说非常的冷门,而大多数的研究都是基于awk本身进行运用性的研究。

早在1995年,英国杜伦大学(University of Durham)的Nicholas J. Cox就发表了一篇由一则对话引出的关于awk的用途的讨论。讨论中指出再Unix和DOS环境下,awk在日常的文本处理可以发挥巨大的作用,并且指出在山坡轮廓等数据调查等主流自然研究领域awk会对其他主流程序设计语言造成一定的竞争[16]

而在之后的时间里,Parsad[17]、刘作斌[14]、杨向东[11][12]等人对提出了一系列关于awk程序设计语言以及awk处理工具的运用方法。其中包括对awk语言程序的格式、运算方法、内置变量以及awk本身对RE的解析的能力等进行了详细讲解,并给出了专用领域中的使用样例,其中包括自然语言交互(Naturel language interface)、日常应用、金融数据处理等。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图