频道栏目
首页 > 资讯 > 浏览器 > 正文

awk应用-信息的检索

15-06-29        来源:[db:作者]  
收藏   我要投稿

awk应用-信息的检索

awk程序可以用于检索数据库中的信息,数据库实际上是各种类型的文本文件。文本文件的结构化越好,对其处理就越容易工作,尽管这个结果不过是由独立的单词组成的行。
下面这个首字母缩写词列表是一个简单的数据库。

$ cat acronyms
BASIC Beginner' s AI I-Purpose Symbol ic Instruction Code
CICS Customer Information Control System
COBOL Common Business Oriented Language
DBMS Data Base Management System
GIGO Garbage In, Garbage Out
GIRL Generalized Information Retrieval Language

制表符被作为字段分隔符。我们将看到一个程序,它将首字母缩写词作为输入并选择数据库中对应的行作为输出。(在下一幸中,我们将看到另外两个使用首字母缩写词数据库的程序。一个程序是读取首字母缩写词列表并在另一个文件中找到这些首字母缩写词出现的位置。另一个程序是定住这些首字母缩写词在文本文件中的第一次出现的位置并插入相应的首字母缩写词的描述。)我们编写的shell脚本命名为acro。它从命令行中获取第一个参数(首字母缩写词的名字)并将它传递给awk脚本,acro脚本如下:

$ cat acro
#!/bin/sh
#将shell的$1赋给awk的search变量
awk '$1 == search' search=$1 acronyms

在shell命令行中的第一个参数($1)被赋给变量search,这个变量作为参数传递给awk程序。传递给awk程序的参数在脚本之后说明。(这闲的有些混乱,因为在awk程序中$1代表每个输入行的第一个字段,而在shell脚本中$1代表命令行提供的第一个参数。)

下面的例子演示了如何用这个程序在列表中找到特殊的首字母缩写词。

$ acro CICS
CICS Customer Information Control System

注意,我们将参数作为字符串来检测($1==search) 。我们也可以将其写成一个正则表达式匹配($1~search)。

相关TAG标签
上一篇:linux入门
下一篇:安全扫描神器Acunetix Web Vulnerability Scanner 10发布(含破解版下载)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站