Linux/Unix 中的管道、Grep 和排序命令及其示例

Linux 中的管道是什么?

管道是 Linux 中的一个命令,它允许您使用两个或多个命令,以便一个命令的输出作为下一个命令的输入。 简而言之,每个进程的输出直接作为输入到下一个进程就像一个管道。 符号“|” 表示管道。

管道可帮助您同时混合两个或多个命令并连续运行它们。您可以使用功能强大的命令在短时间内执行复杂的任务。

让我们通过一个例子来理解这一点。

当您使用“cat”命令查看跨越多页的文件时,提示符会快速跳转到文件的最后一页,而您看不到中间的内容。

为了避免这种情况,您可以将“cat”命令的输出通过管道传输到“less”,它将一次只显示一个滚动长度的内容。

cat filename | less 

举个例子就可清楚说明。

Linux 中的管道是什么

点击 请点击此处 如果视频无法访问

‘pg’ 和 ‘more’ 命令

除了‘less’,您还可以使用。

cat Filename | pg 

or

cat Filename | more

而且,您可以以易于理解的位来查看文件,只需按回车键即可向下滚动。

‘pg’ 和 ‘more’ 命令

‘grep’ 命令

假设您想从文本文件中搜索邮政编码的特定信息。

您可以自己手动浏览内容以追踪信息。更好的选择是使用 grep 命令。它将扫描文档以查找所需信息并以您想要的格式呈现结果。

语法:

grep search_string

让我们看看它的实际效果——

‘grep’ 命令

在这里, grep的 命令在文件‘sample’中搜索字符串‘Apple’和‘Eat’。

此命令可使用以下选项。

附加选项 功能
-v 显示所有与搜索字符串不匹配的行
-c 仅显示匹配行数
-n 显示匹配的行及其编号
-i 匹配大小写
-l 仅显示带有字符串的文件名称

让我们尝试第一个选项 '-我' 在同一个文件上使用上面的方法 –

使用 'i' 选项 grep 从所有行中过滤掉字符串 'a'(不区分大小写)。

‘grep’ 命令

‘sort’ 命令

此命令有助于 按字母顺序对文件内容进行排序。

此命令的语法是:

sort Filename

考虑一个文件的内容。

‘sort’ 命令

使用排序命令

‘sort’ 命令

这里有 扩展 此命令也是如此,它们列在下面。

附加选项 功能
-r Rev逆序排序
-n 按数字排序
-f 不区分大小写的排序

下面的例子显示对文件‘abc’中的内容进行反向排序。

‘sort’ 命令

什么是过滤器?

Linux 有很多过滤命令,例如 awk、grep、sed、spell 和 wc。过滤器会从某个命令获取输入,进行一些处理,然后给出输出。

当您通过管道传输两个命令时,第一个命令的“过滤”输出将提供给下一个命令。

什么是过滤器

让我们借助一个例子来理解这一点。

我们有以下文件“示例”

什么是过滤器

我们想强调 仅包含不包含字符“a”的行,但结果应该是相反的顺序。

为此,可以使用以下语法。

cat sample | grep -v a | sort - r

让我们看看结果。

什么是过滤器

概要:

  • 管道“|”将一个命令的输出作为另一个命令的输入。
  • 过滤器从一个命令获取输入,进行一些处理,然后给出输出。
  • grep 命令可用于查找文本文档中的字符串和值
  • 通过 grep 进行管道传输是最常见的用途之一
  • ‘sort’ 命令按字母顺序对文件内容进行排序
  • less、pg 和 more 命令用于将长文件分成可读的位

总结一下这篇文章: