Linux / Unix中的Pipe,Grep和Sort命令以及示例
在本教程中,我们将学习 -
[TOC]
什么是Linux中的管道?
Pipe是Linux中的一个命令,它允许您使用两个或多个命令,以便一个命令的输出作为下一个命令的输入。简而言之,每个进程的输出直接作为管道输入到下一个进程。符号'|' 表示管道。
管道可帮助您同时混合两个或多个命令并连续运行它们。您可以使用功能强大的命令,可以快速执行复杂的任务。
让我们通过一个例子来理解这一点。
当您使用'cat'命令查看跨越多个页面的文件时,提示会快速跳转到文件的最后一页,并且您看不到中间的内容。
为避免这种情况,您可以将'cat'命令的输出传递给'less',这样一次只能显示一个滚动长度的内容。
cat filename| less
举例说明会清楚。

'pg'和'more'命令
您也可以使用"pg",而不是“less”。
cat filename| pg
要么
cat filename| more
并且,您可以使用易读位查看文件,只需按Enter键即可向下滚动。

'grep'命令
假设您要从文本文件中搜索特定信息的邮政编码。
您可以自己手动浏览内容以跟踪信息。更好的选择是使用grep命令。它将扫描文档以获取所需信息,并以您想要的格式显示结果。
句法:
grep search_string
让我们看看它在行动 -

在这里,grep命令搜索文件'sample',搜索字符串'Apple'和'Eat'。
以下选项可与此命令一起使用。
选项 | 功能 |
---|---|
-v | 显示与搜索到的字符串不匹配的所有行 |
-C | 仅显示匹配行的计数 |
-n | 显示匹配的行及其编号 |
-i | 匹配(上部和下部)情况 |
-l | 仅显示带有字符串的文件的名称 |
让我们在上面的相同文件上尝试第一个选项'-i' -
使用'i'选项,grep已从所有行中过滤掉字符串'a'(不区分大小写)。

'sort'命令
此命令有助于按字母顺序排序文件的内容。
该命令的语法是:
sort filename
考虑文件的内容。

使用sort命令

此命令也有扩展,下面列出了它们。
选项 | 功能 |
---|---|
-r | 反转排序 |
-n | 按数字排序 |
-F | 不区分大小写的排序 |
下面的示例显示了文件'abc'中内容的反向排序。

什么是过滤器?
Linux有很多过滤命令,如awk,grep,sed,spell和wc。过滤器从一个命令获取输入,进行一些处理,并给出输出。
管道两个命令时,第一个命令的“过滤”输出将被赋予下一个命令。

让我们借助一个例子来理解这一点。
我们有以下文件'sample'

我们只想突出显示不包含字符'a'的行,但结果应该是相反的顺序。
为此,可以使用以下语法。
cat sample| grep -v a | sort - r
让我们看看结果。

总结
- 管道'|' 发送一个命令的输出作为另一个命令的输入。
- 过滤器从一个命令获取输入,进行一些处理,并给出输出。
- grep命令可用于在文本文档中查找字符串和值
- 通过grep管道必须是最常见的用途之一
- 'sort'命令按字母顺序排序文件的内容
- less,pg和更多命令用于将长文件分成可读位
网友评论