这些是一些 awk 可以发挥作用的实用示例。
对于第一个练习,你的输入是以下形式的行
Username:Firstname:Lastname:Telephone number |
编写一个 awk 脚本,将这样的一行转换为以下格式的 LDAP 记录
dn: uid=Username, dc=example, dc=com cn: Firstname Lastname sn: Lastname telephoneNumber: Telephone number |
创建一个包含几个测试记录的文件并进行检查。
创建一个 Bash 脚本,使用 awk 和标准 UNIX 命令来显示磁盘空间使用量排名前三的用户,位于/home文件系统(如果你没有将家目录放在单独的分区上,则为/分区创建脚本;这在每个 UNIX 系统上都存在)。首先,从命令行执行命令。然后将它们放入脚本中。脚本应该创建有意义的输出(即老板可以理解的)。如果一切正常,让脚本将结果通过电子邮件发送给你(例如,使用 mail -s Disk space usage <you@your_comp> < result)。
如果 quota 守护进程正在运行,请使用该信息;否则,请使用 find。
从以下形式的 Tab 分隔列表中创建 XML 风格的输出
Meaning very long line with a lot of description meaning another long line othermeaning more longline testmeaning looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line, but i mean really looooooooooooooooooooooooooooooooooooooooooooooooooong. |
输出应如下所示
<row> <entry>Meaning</entry> <entry> very long line </entry> </row> <row> <entry>meaning</entry> <entry> long line </entry> </row> <row> <entryothermeaning</entry> <entry> more longline </entry> </row> <row> <entrytestmeaning</entry> <entry> looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line, but i mean really looooooooooooooooooooooooooooooooooooooooooooooooooong. </entry> </row> |
此外,如果你了解 XML,请编写 BEGIN 和 END 脚本来完成表格。或者在 HTML 中完成。