|
awk
awk 是 Linux 上功能最为强大的工具之一。它本身实际上是一种编程语言,可以实现复杂的逻辑语句,还可以简化部分文本的提取。在本文那中我们将不会详细对其进行介绍,而是快速了解一下它的语法,并尝试几个实际的例子。
awk 命令包括一个模式和由一条或多条语句构成的操作,语法如下所示:
|
请注意:
一种非常有用的操作是打印数据!下面是如何引用一条记录中的域。
$0 —— 整条记录
$1 —— 该记录中的第一个域
$2 —— 该记录中的第二个域 我们还可以从一条记录中提取多个域,之间使用逗号分开。
举例来说,要提取 /etc/passwd 文件中的第 6 个域,命令如下:
|
注意 -F 是由预先定义的 FS 变量所定义的输入域分隔符。在我们这个例子中是空格。
要从 /etc/passwd 文件中提取第一个和第六个域,命令如下:
|
要在域之间使用短横线代替冒号来打印这个文件的内容,命令如下:
|
要使用短横线作为域之间的分隔符来打印文件,并且只以逆序打印第一个域和第六个域,命令如下:
|
head
head 工具打印每个文件的最开始部分的内容(默认是 10 行)。如果没有给定文件,它就从标准输入中读入内容,如果给定了文件名就从文件中读入内容。
举例来说,如果我们希望从 memo 文件中提取前两行内容,命令如下:
|
我们可以使用 -c 选项指定要显示的字节个数。举例来说,如果我们希望从 memo 文件中读取前两个字节的内容,可以使用下面的命令:
|
tail
tail 工具打印每个文件的最末尾部分的内容(默认是 10 行)。如果没有给定文件,它就从标准输入中读入内容,如果给定了文件名就从文件中读入内容。
举例来说,如果我们希望从 memo 文件中提取最后两行内容,命令如下:
|
我们可以使用 -c 选项指定要显示的字节个数。举例来说,如果我们希望从 memo 文件中读取最后五个字节的内容,可以使用下面的命令:
|
结束语
现在我们已经知道如何使用各种工具从标准 Linux 文件中向外提取数据了。一旦提取出数据之后,这些数据就可以进行查看、打印或重定向到其他文件或数据库中了。了解了如何使用这些有用的工具可以帮助我们减少花费在烦杂任务上的时间,从而能够成为一名效率更高的管理员。
| Linux服务器傻瓜式安装完全接触 | 08-31 |
| Linux中新闻组服务器和客户端的使 | 08-14 |
| Linux下查找漏洞的几种必备工具 | 08-13 |
| Linux操作系统上摄像头的使用小技 | 08-11 |
| 网络工程师 Linux系统日志的分析 | 08-08 |
| Ubuntu 7.04操作系统下安装Man在 | 07-27 |
| 从USB移动硬盘上引导Portable Li | 07-27 |
| Ghost程序参数四则 系统备份与恢 | 07-27 |
| 系统安全:分级防御对Linux服务器 | 07-24 |
| Linux操作系统中厉害的“七种武器 | 07-21 |
| 体系架构是不是桌面Linux系统的弱 | 07-19 |
| Linux系统的各种后门和日志工具详 | 07-19 |