Linux/Unix 中的管道和过滤器
UNIX 中的管道
1972年6 月, MD Mcllory引入了 Pipes 的新想法——版本2,10 次UNIX 安装。管道用于将一个命令(写在 LHS 上)的输出作为另一个命令(写在 RHS 上)的输入。命令使用竖线“ | ”连接在一起。 “ 象征。
句法:
command 1|command 2
例子:
- 输入: ls|more
- 输出: more 命令从ls命令获取输入并将其附加到标准输出。它显示适合屏幕的尽可能多的文件,并在屏幕底部突出显示更多文件。要查看下一个屏幕,请按 Enter 键或空格键一次移动一行或一次移动一个屏幕。
UNIX 中的过滤器
在 UNIX/Linux 中,过滤器是从标准输入流(即stdin )获取输入、执行某些操作并将输出写入标准输出流(即stdout )的一组命令。可以使用重定向和管道根据首选项管理标准输入和标准输出。常用的过滤命令有:grep、more、sort。
1. grep 命令:是模式或表达式匹配命令。它搜索文件或目录中匹配的模式或正则表达式,然后打印找到的匹配项。
句法:
$grep[options] "pattern to be matched" filename
例子:
Input : $grep 'hello' ist_file.txt
Output : searches hello in the ist_file.txt and outputs/returns the lines containing 'hello'.
grep 命令中的选项是:
Grep 命令也可以与元字符一起使用:
例子:
Input : $grep 'hello' *
Output : it searches for hello in all the files and directories.
*是元字符并返回匹配的 0 个或多个前面的字符
2. sort 命令:按指定字段对文件中的行进行排序或合并的数据操作命令。换句话说,它按字母顺序或数字顺序对文本行进行排序,默认排序是字母顺序。
句法:
$sort[options] filename
选项包括:
例子:
$sort fruits.txt
$sort -n grades.txt
3. more 命令:用于自定义文件的显示内容。它使用分页控件在终端上显示文本文件内容。使用以下关键控件:
- 要显示下一行,请按回车键
- 要调出下一个屏幕,请按空格键
- 要移动到下一个文件,请按 n
- 要退出,请按 q。
句法:
$more[options] filename
例子:
cat fruits.txt | more
使用 more 命令时,屏幕底部包含更多提示,其中输入命令以在文本中移动。