网站制作步骤流程图,阿里云预安装wordpress,宁德城乡建设网站,php网站 更改logo简介 在之前关于 Awk 工具的系列文章中#xff0c;主要探讨了如何从文件中读取数据。但如果你希望从标准输入#xff08;STDIN#xff09;中读取数据#xff0c;又该如何操作呢#xff1f; 在本文中#xff0c;将介绍几个示例#xff0c;展示如何使用 Awk 来过滤其他命令… 简介 在之前关于 Awk 工具的系列文章中主要探讨了如何从文件中读取数据。但如果你希望从标准输入STDIN中读取数据又该如何操作呢 在本文中将介绍几个示例展示如何使用 Awk 来过滤其他命令的输出而不仅仅是读取文件内容。 首先将以 dir 工具为例它的功能与 ls 命令类似。在第一个示例中将 dir -l 命令的输出作为 Awk 的输入数据以此来打印出当前目录下文件的所有者用户名、所属组名以及该用户拥有的文件列表。 # dir -l | awk {print $3, $4, $9;} 再来看一个例子在这个例子中将利用 awk 表达式来实现一个特定功能筛选并打印出由 root 用户拥有的文件。具体的做法是通过一个过滤表达式来完成如下所示的 awk 命令 # dir -l | awk $3root {print $1,$3,$4, $9;} 上述命令包括比较运算符帮助过滤当前目录中由 root 用户拥有的文件。这是通过使用表达式 $3root 实现的。 再看一个例子其中使用 awk 比较运算符来匹配特定的字符串。 在这里使用 cat 实用程序查看名为 tecmint_deals.txt 的文件的内容并且只想查看类型为 Tech 的交易因此将运行以下命令 # cat tecmint_deals.txt# cat tecmint_deals.txt | awk $4 ~ /tech/{print}# cat tecmint_deals.txt | awk $4 ~ /Tech/{print} 在上面的例子中使用了值 ~ /pattern/ 比较运算符但有两个命令可以尝试并提取出非常重要的内容。 当您使用模式 tech 运行命令时因为没有那种类型的交易所以什么都不会打印出来但是使用 Tech 时您会得到类型为 Tech 的交易。 因此在使用这种比较运算符时一定要小心正如上面所看到的它是区分大小写的。 您可以随时使用另一个命令的输出作为 awk 的输入而不是从文件中读取输入这就像在上面的例子中所看到的那样非常简单。 本文由 mdnice 多平台发布