学习 Linux,101: 文本流和过滤器

学习 Linux,101: 文本流和过滤器

过滤器,使用过滤器构建管道,用之操作文本

文本过滤指的是这样一个过程:获得文本的输入流,并在将文本发送给输出流之前对文本执行一些转换

命令管道使其中来自一个命令的输出被传输重定向,以用作下一个命令的输入

使用 | > 操作实现管道和基本的输出重定向。

是一个可以使用库功能读取或写入的字节序列,库功能向应用程序隐藏了底层设备的细节

使用 | 实现管道:(将command1的输出结果作为command2的输入)

Command1 operation | command2

使用 > 重定向输出:(把输出从stdout重定向到 > 后面的文件,比如将echo重定向到文本文件中)

Cat(concatenate)命令显示 文件在使用标准输出时的内容,可以使用通配符:cat textname

如果没有指定文件名(或者如果指定 - 作为文件名)的话,cat 命令将从 stdin 获取输入:

cat [-] > textname

cat可以将多个文件链接在一起显示,tac则是将文件从最后一行开始反序显示

od(octal dump)文件转储,可以显示一些控制字符,比如tab键显示成为\t或者ht(根据参数的不同而不同)

wc (Word Count)命令将显示文件中所含的行、单词、字节的数量

head输出文件中的前n行,tail输出文件的后n行

expand将tab转换成为空格,-t参数表明一个tab代表的空格数目,效果就是产生和使用tab时候一样的格式(需要知道tab键到底是为了干什么)

unexpand恰好相反,另外-a参数表示所有的空格都要转换

tr就单纯了很多,仅仅是将一个集合中的字符转换为另一个集合中对应的字符

pr 命令用于格式化文件以执行输出。默认的头部(header)包含文件名和文件创建日期和时间,以及一个页号和两行空白页脚。

nl 命令可以对行进行编号,这在输出文件时非常方便。

fmt命令格式化文本以使其能够适合边距(可以依照参数指示文件的顺序同时显示多个文件,但是文件不并行)

sort 将按照系统的 locale(LC_COLLATE)的排序序列来对输入进行排序。sort 命令还可以合并已经排序的文件,并检查某个文件是否已经排序

uniq 命令通常操作已排序的文件,并从文件(不管是否排序)中删除连续的相同行。uniq 命令还可以忽略某些字段。

cut 命令从文本文件中提取字段。默认的字段分隔符是制表符。(从效果上看就是提取每一列)

paste 命令可以并行粘帖来自两个或多个文件的行,其方式类似于 pr 命令使用其 -m 选项合并文件。

join命令根据匹配的字段连接文件。这些文件应当根据 join 字段排序。

Sed流编辑器

posted on 2011-10-07 15:28  Observer  阅读(730)  评论(0编辑  收藏  举报

导航