1.使用awk提取文本
问题
本案例要求使用awk工具完成下列过滤任务:
练习awk工具的基本用法
提取本机的IP地址、根分区使用率
格式化输出/etc/passwd文件中的用户名、UID、宿主目录信息
格式化输出passwd文件内容时,要求第一行为列表标题,最后一行提示一共已处理文本的总行数,如图-1所示。
图-1
步骤
实现此案例需要按照如下步骤进行。
步骤一:awk文本过滤的基本用法
1)基本操作方法
格式:awk [选项] ‘[条件]{编辑指令}’ 文件
其中,print 是最常用的编辑指令;若有多条编辑指令,可用分号分隔。
处理文本时,若未指定分隔符,则默认将空格、制表符等作为分隔符。
直接过滤文件内容:
[root@svr5 ~]# cat /etc/rc.local //文件的完整内容
#!/bin/sh
This script will be executed after all the other init scripts.
You can put your own initialization stuff in here if you don’t
want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
[root@svr5 ~]# awk ‘{print $1,$2}’ /etc/rc.local //输出文件的第1、2列
#!/bin/sh
This
You
want
touch /var/lock/sub