关于Linux-管道和过滤器

在Linux中,将两个命令连接起来使用时,一个命令的输出作为另一个命令的输入,这就叫做管道。为了建立管道,两个命令之间使用|连接。

管道是Linux进程之间重要的通信机制,除了管道,还有共享内存,消息队列,信号量,套接字(socket)等进程通信机制。


能够接受数据,过滤(处理或筛选)后在输出的工具,称为过滤器。


grep是一个文本搜索工具,使用正则表达式进行全局检索,并把匹配的行打印出来。可以看看做是一个过滤器,其简单的使用就是检索包含固定字符的文本。该命令有很多选项:

选项 说明
-v 反转查询,输出不匹配的行。例如,grep -v "test" demo.txt 将输出不包含"test"的行。
-n 输出匹配的行以及行号。
-l 输出匹配的行所在的文件名。
-c 输出匹配的总行数。
-i 不区分大小写进行匹配。


sort命令

该命令将文件中的各行字母或数进行排序,可以从特定的文件,或者从stdin获取输入。通过下列的选项可以控制排序规则

选项 描述
-n 按照数字大小排序,例如,10会排在2后面;-n 选项会忽略空格或 tab缩进。
-r 降序排序。sort 默认是升序排序。
-f 不区分大小写。
+x 对第x列(从0开始)进行排序。

管道的例子:

扫描二维码关注公众号,回复: 2942603 查看本文章
$ls -l | grep "Aug" | sort +4n

含义即将当前目录中八月份修改的文件按照大小排序,+4n表示对第5列按照数字大小排序。





猜你喜欢

转载自blog.csdn.net/u010996775/article/details/71480608