Working with Fields
For many applications, it's helpful to view your data as consisting of records and fields. A record is a single collection of related information, such as what a business might have for a customer, supplier, or employee, or what a school might have for a student. A field is a single component of a record, such as a last name, a first name, or a street address.
Text File Conventions
Because Unix encourages the use of textual data, it's common to store data in a text file, with each line representing a single record. There are two conventions for separating fields within a line from each other. The first is to just use whitespace (spaces or tabs):
$ cat myapp.data
# model units sold salesperson
xj11 23 jane
rj45 12 joe
cat6 65 chris
...
In this example, lines beginning with a #
character represent comments, and are
ignored. (This is a common convention. The ability to have comment
lines is helpful, but it requires that your software be able to ignore
such lines.) Each field is separated from the next by an arbitrary
number of space or tab characters. The second convention is to use a
particular delimiter character to separate fields, such as a
colon:
$ cat myapp.data
# model:units sold:salesperson
xj11:23:jane
rj45:12:joe
cat6:65:chris
...
Each convention has advantages and disadvantages. When whitespace is the separator, it's difficult to have real whitespace within the fields' contents. (If you use a tab as the separator, you can use a space character within a ...
Get Classic Shell Scripting now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.