GNU 文本实用程序简介----组合和分割多个文件(5)
时间:2005-02-04 来源:litie123
这是从寂寞烈火的blog转来的。
comm
实用程序 comm 用于比较已经(按字母顺序)排序的文件的内容。当文件的行被看作是 项 的无序集合时,这个实用程序就很有用。diff 实用程序虽然没有包括在文本实用程序中,但它是用于比较可能具有单独的修饰(但是被认为是有序的)的文件(比如源代码文件或文档)的通用方法。另一方面,被看作是记录字段的文件没有任何内在的顺序,因而排序不会改变信息内容。
join
实用程序 join 相当有趣;它执行一些基本的关系运算(了解关系数据库理论的读者应该熟悉它们)。 简而言之,join 允许我们查找(排序的)记录集合之间的共有字段。 例如,您可能想知道哪些 IP 地址同时访问了您的 Web 站点和 FTP 站点,以及那些访问的相关信息(所请求的资源、时间,等等,这些信息将在日志文件中)。
paste
实用程序 paste 大致执行 cut 的逆向操作。也就是说,paste 将多个文件组合到列中,比如组合到字段中。默认情况下,文件之间的对应行用制表符分隔,但是您可以通过指定 -d 选项来使用不同的分隔符。虽然 paste 能够组合不相关的文件(如果其中一个输入较长,则相应留下空字段),但是一般对同步的文件执行 paste 才最有意义。
split
实用程序 split 简单地将一个文件划分为多个部分,每个部分包含指定数量的行或字节(最后一个部分可能是最小的)。这些部分将写到其名称按两个后缀字母排序(默认为 xaa、xab……xzz)的一系列文件中。虽然 split 可能仅在管理大型文件或数据集时才有用,但是它对处理更结构化的数据也很有用。
csplit
实用程序 csplit 类似于 split,但是它基于文件中的上下文行来划分文件,而不是依照简单的行/字节计数。您可以在一个命令中使用一个或多个划分标准,而且可以将每个标准重复所希望的任意多次。最有趣的规则类型是用于匹配行的正则表达式。
**** 更多的上述实用命令的详细用法,请看他们的手册页