These are some practical examples where awk can be useful.
For the first exercise, your input is lines in the following form:
Make an awk script that will convert such a line to an LDAP record in this format:
dn: uid=Username, dc=example, dc=com cn: Firstname Lastname sn: Lastname telephoneNumber: Telephone number
Create a file containing a couple of test records and check.
Create a Bash script using awk and standard UNIX commands that will show the top three users of disk space in the
/home file system (if you don't have the directory holding the homes on a separate partition, make the script for the
/ partition; this is present on every UNIX system). First, execute the commands from the command line. Then put them in a script. The script should create sensible output (sensible as in readable by the boss). If everything proves to work, have the script email its results to you (use for instance mail
Disk space usage
If the quota daemon is running, use that information; if not, use find.
Create XML-style output from a Tab-separated list in the following form:
Meaning very long line with a lot of description meaning another long line othermeaning more longline testmeaning looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line, but i mean really looooooooooooooooooooooooooooooooooooooooooooooooooong.
The output should read:
<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>
Additionally, if you know anything about XML, write a BEGIN and END script to complete the table. Or do it in HTML.