格式化文本数据抽取工具awk

在管理和维护Linux系统过程中,有时可能需要从一个具有一定格式的文本(格式化文本)中抽取数据,这时可以使用awk编辑器来完成这项任务。发明这个工具的作者是Aho、Weinberg和Kernighan,取三个人名的首字母而得名awk。

与sed相比,awk更擅长处理格式化文本。格式化文本一般使用某个特定的字符(称为域分隔符)将文本中不同的字段(称为域)隔开。例如用于保存用户信息的系统用户文件/etc/passwd,该文件使用冒号分别将用户名、密码、UID等字段分隔开。

一、awk命令基本格式 命令格式:

awk [-F] ‘command’ input-file

awk –f script input-file

与sed类似,awk也有两种调用方式:第一种是直接使用awk命令调用,选项F用于指定域分隔符。默认情况下awk使用的域分隔符是空格,如果要处理的文件input-file的域分隔符不是空格,应该使用F选项另行指定。第二种方法跟sed一样,先将要输入的选项模式和动作放入一个脚本文件中,然后使用选项f调用。

命令处理过程:

awk被调用后,首先读入第一行文本并按选项F指定的域分隔符将各个字段划开。以/etc/passwd其中一行为例:

root:x:0:0:root:/root:/bin/bash,人生就像是一场旅行,遇到的既有感人的,

格式化文本数据抽取工具awk

相关文章:

你感兴趣的文章:

标签云: