AWK如何读取标准输入(awk,开发技术)

时间:2024-05-03 13:51:13 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

在 awk 系列中,我们将会看到几个例子,你可以筛选其他命令的输出代替从一个文件读取输入作为 awk 的输入。我们首先从使用 dir 命令开始,它类似于 ls 命令。

AWK如何读取标准输入

在第一个例子下面,我们使用 dir -l 命令的输出作为 awk 命令的输入,这样就可以打印出文件拥有者的用户名,所属组组名以及在当前路径下他/她拥有的文件。

#dir-l|awk'{print$3,$4,$9;}'
AWK如何读取标准输入
AWK 怎么读取标准输入(STDIN)AWK 怎么读取标准输入(STDIN)

列出当前路径下的用户文件

再来看另一个例子,我们使用 awk 表达式 ,在这里,我们想要在 awk 命令里使用一个表达式筛选出字符串来打印出属于 root 用户的文件。命令如下:

#dir-l|awk'$3=="root"{print$1,$3,$4,$9;}'
AWK如何读取标准输入
AWK 怎么读取标准输入(STDIN)AWK 怎么读取标准输入(STDIN)

列出 root 用户的文件

上面的命令包含了 (==) 来进行比较操作,这帮助我们在当前路径下筛选出 root 用户的文件。这是通过使用 $3==”root” 表达式实现的。

让我们再看另一个例子,我们使用一个 awk 比较运算符 来匹配一个确定的字符串。

这里,我们使用了 cat 命令 来浏览文件名为 tecmint_deals.txt 的文件内容,并且我们想要仅仅查看有字符串 Tech 的部分,所以我们会运行下列命令:

#cattecmint_deals.txt#cattecmint_deals.txt|awk'$4~/tech/{print}'#cattecmint_deals.txt|awk'$4~/Tech/{print}'
AWK如何读取标准输入
AWK 怎么读取标准输入(STDIN)AWK 怎么读取标准输入(STDIN)

用 Awk 比较运算符匹配字符串

在上面的例子中,我们已经用了参数为 ~ /匹配字符/ 的比较操作,但是上面的两个命令给我们展示了一些很重要的问题。

当你运行带有 tech 字符串的命令时终端没有输出,因为在文件中没有 tech 这种字符串,但是运行带有 Tech 字符串的命令,你却会得到包含 Tech 的输出。

所以你应该在进行这种比较操作的时候时刻注意这种问题,正如我们在上面看到的那样,awk 对大小写很敏感。

你总是可以使用另一个命令的输出作为 awk 命令的输入来代替从一个文件中读取输入,这就像我们在上面看到的那样简单。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:AWK如何读取标准输入的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Linux发展史是怎么样的下一篇:

17 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18