Shell过滤器

1年前 (2024-04-27)
我们己经知道,将几个令通过管道符组在一起就形成一个管道。通常,通过这种方式使用的令就被称为过滤器。过滤器会获取输入,通过某种方式修改其内容,然后将其输出。

简单地说,过滤器可以概括为以下两点:

  • 如果一个 Linux 令是从标准输入接收它的输入数据,并在标准输出上产生它的输出数据(结果),那么这个令就被称为过滤器。

  • 过滤器通常与 Linux 管道一起使用。


常用的被作为过滤器使用的令如下所示:

说明

awk

用于文本处理的解释性程序设计语言,通常被作为数据提取和报告的工具。

cut

用于将每个输入文件(如果没有指定文件则为标准输入)的每行的指定部分输出到标准输出。

grep

用于搜索一个或多个文件中匹配指定模式的行。

tar

用于归档文件的应用程序。

head

用于读取文件的开头部分(默认是 10 行)。如果没有指定文件,则从标准输入读取。

paste

用于并文件的行。

sed

用于过滤和转换文本的流编辑器。

sort

用于对文本文件的行进行排序。

split

用于将文件分割成块。

strings

用于打印文件中可打印的字符串。

tac

与 cat 令的功能相反,用于倒序地显示文件或连接文件。

tail

用于显示文件的结尾部分。

tee

用于从标准输入读取内容并写入到标准输出和文件。

tr

用于转换或删除字符。

uniq

用于报告或忽略重复的行。

wc

用于打印文件中的总行数、单词数或字节数。


接下来,我们通过几个实例来演示一下过滤器的使用。

在管道中使用 awk 令

关于 awk 令的具体用法,请大家自行学习,本节我们我们仅通过几个简单的实例来了解一下 awk 令在管道中的使用。

实例1

查看系统中的所有的账号名称,并按名称的字母顺序排序。

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />

[c.biancheng网站站点" rel="nofollow" />