如何 awk 仅输出包含关键字的行?

如何 awk 仅输出包含关键字的行?

我正在编写一个小脚本,它检查浏览器选项卡上的某些关键字。如果存在关键字,则脚本将关闭选项卡。该脚本实际上是一个适用于每个浏览器的简单“块站点”脚本,只要 python 程序支持该浏览器即可“布罗塔布”作者:尤里·博奇卡列夫。比安装浏览器插件更安全。

我的第一行有效的代码是

bt list | grep keyword > tmp-file; cut -c 1-7 < tmp-file | bt close

但是此代码不符合 KISS 要求并且实际上是有缺陷的,因为 TAB-ID 并不总是包含正好七个字符。

因此我学习了一些 AWK 并且 - 谢谢对于这个答案- 想出了以下命令

bt list | awk -F "[\t]" '/keyword/{print$1}'

现在可以了!

对于其他新手: -F 指定字段分隔符, \t 将其设置为制表符。 {print$1} 告诉 awk 仅输出第一个字段。

第二个问题:我想屏蔽多个关键字。我考虑过使用关键字文件。最好的做法是什么?我考虑过编写一个内循环for i in "./keywords.txt"; do ...; done;

外循环将是每 x 秒测试一次的脚本,如果已打开带有阻止标题的选项卡。

如果我想使用多个关键字

相关内容