这里是一些能让 awk 变得很有用的练习例子。
第一个练习,你的输入是按照下列形式的行:
Username:Firstname:Lastname:Telephone number
写一个把这样的行转换成一个如下LDAP记录格式的 awk 脚本:
dn: uid=Username, dc=example, dc=com cn: Firstname Lastname sn: Lastname telephoneNumber: Telephone number
建立并检查一个包含一系列测试记录的文件。
使用 awk 和标准UNIX命令建立一个Bash脚本来显示在文件系统的 /home
中使用磁盘空间的前三位用户(如果你在一个单独的分区上没有目录包含home目录,把脚本用于 /
分区;在每个UNIX系统上都有)。首先,从命令行执行命令。然后放入脚本当中。脚本应该建立易于察看的输出(便于老板的检查)。如果每件事证明都能运作,使脚本把结果通过email发送给你(使用 mail -s
Disk space usage
<you@your_comp>
< result
)。
如果配额守护程序在运行,使用它提供的信息;否则,使用 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中完成。