3.3.1 文本文件惯例

    由于 UNIX 鼓励使用文本型数据,因此系统上最常见的数据存储类型就是文本了,在文本文件下,一行表示一条记录。这里要介绍的是在一行内用来分隔字段的两种惯例。首先是直接使用空白(whitespace),也就是用空格键(space)或制表(tab)键:
 
    #字符起始的行表示注释,可忽略(这是一般的习惯,注释行的功能相当好用,不过软件必须可忽略这样的行才行)。各字段都以任意长度的空格键(space)或制表(tab)键字符隔开。第二种管理是使用特定的定界符来分隔字段,例如冒号。
 
    两种惯例都有其优缺点。使用空白作为分隔时,字段内容就最好不要有空白(若你使用指标字符(Tab)作分隔,字段里有空格时不会有问题的,但这么做视觉上会混淆,因为你在看文件时,很难马上分辨出它们的不同)。反过来说,若你使用显式的定界符,那么数据内容里的可能性降低到最低或不存在。
 
    注意:这两种方式最明显的不同,便是在处理多个连续重复的定界符之时。使用空白(whitespace)分隔时,通常多个连续出现的空格或制表字符都将看作一个定界符。然而,若使用的是特殊字符分隔,则每个定界符都隔开一个字段,例如,在myapp.data的第二个版本里使用的两个冒号字符("::")则会分隔出一个空的字段。
 
    以定界符分隔字段最好的例子就是 /etc/passwd 了,在这个文件里,一行表示系统里的一个用户,每个字段都以冒号隔开。在系统管理工作中,很多时候都是在处理这个文件。
posted @ 2019-01-23 10:02  Avention  阅读(185)  评论(0编辑  收藏  举报