Linux学习之路

Linux / Unix中的Pipe,Grep和Sort命令以及

2019-07-30  本文已影响0人  程序员will

Linux / Unix中的Pipe,Grep和Sort命令以及示例

在本教程中,我们将学习 -

[TOC]

什么是Linux中的管道?

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

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

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

当您使用'cat'命令查看跨越多个页面的文件时,提示会快速跳转到文件的最后一页,并且您看不到中间的内容。

为避免这种情况,您可以将'cat'命令的输出传递给'less',这样一次只能显示一个滚动长度的内容。

cat filename| less

举例说明会清楚。

Linux / Unix管道,Grep和排序命令

'pg'和'more'命令

您也可以使用"pg",而不是“less”。

cat filename| pg

要么

cat filename| more

并且,您可以使用易读位查看文件,只需按Enter键即可向下滚动。

Linux / Unix管道,Grep和排序命令

'grep'命令

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

您可以自己手动浏览内容以跟踪信息。更好的选择是使用grep命令。它将扫描文档以获取所需信息,并以您想要的格式显示结果。

句法:

grep search_string

让我们看看它在行动 -

Linux / Unix管道,Grep和排序命令

在这里,grep命令搜索文件'sample',搜索字符串'Apple'和'Eat'。

以下选项可与此命令一起使用。

选项 功能
-v 显示与搜索到的字符串不匹配的所有行
-C 仅显示匹配行的计数
-n 显示匹配的行及其编号
-i 匹配(上部和下部)情况
-l 仅显示带有字符串的文件的名称

让我们在上面的相同文件上尝试第一个选项'-i' -

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

Linux / Unix管道,Grep和排序命令

'sort'命令

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

该命令的语法是:

sort filename

考虑文件的内容。

Linux / Unix管道,Grep和排序命令

使用sort命令

Linux / Unix管道,Grep和排序命令

此命令也有扩展,下面列出了它们。

选项 功能
-r 反转排序
-n 按数字排序
-F 不区分大小写的排序

下面的示例显示了文件'abc'中内容的反向排序。

Linux / Unix管道,Grep和排序命令

什么是过滤器?

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

管道两个命令时,第一个命令的“过滤”输出将被赋予下一个命令。

Linux / Unix管道,Grep和排序命令

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

我们有以下文件'sample'

Linux / Unix管道,Grep和排序命令

我们只想突出显示不包含字符'a'的行,但结果应该是相反的顺序。

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

cat sample| grep -v a | sort -  r

让我们看看结果。

Linux / Unix管道,Grep和排序命令

总结

上一篇下一篇

猜你喜欢

热点阅读