We have already seen, in Chapter 12, Summarizing Logs with AWK, how we can create complex reports from large amounts of data mined from purely text files. Similarly, we can create extensive reports using the output from standard command-line tools, such as the lastlog tool. In itself, lastlog can report the last login time for all users. Often, though, we may wish to filter the output from lastlog. Perhaps you need to exclude user accounts that have never been used to log in to the system. It may also be irrelevant to report on root, as the account may be predominately used for sudo only and not used to record regularly for standard logins.
In working through this chapter, we will work with lastlog and formatting XML data. As this is the last chapter in which we investigate AWK, we will configure record separators. We have already seen the use of field separators in AWK but we can change the default record separator from a newline to something more specific to our needs. More specifically, within this chapter we will cover:
- Using AWK ranges to exclude data
- Conditions based on the number of fields
- Manipulating the AWK record separator to report on XML data