如何在同一行中匹配grep列?

布布

我想获取已安装订阅的结束日期,当前正在使用

subscription-manager list --installed | grep Ends | awk '{print $2 }')

当有多个订阅时,就会变得很复杂。如何获取与订阅中带有“服务器”名称的订阅相匹配的结束日期和名称?

+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Red Hat Enterprise Linux Server
Product ID:     69
Version:        7.7
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         27/11/19
Ends:           27/11/20

Product Name:   Red Hat Enterprise Linux High Availability for x86_64
Product ID:     83
Version:        7.7
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         27/11/19
Ends:           27/11/20
芒登

这基本上是AdminBee方法简化版本

$ subscription-manager list --installed | 
    awk '{
            if(sub(/^Product Name: */,"")){
                a=0; 
                n=$0;
                if(/<Server>/){ a++ }
            } 
          }/Ends/ && a{print n,$2}'  
Red Hat Enterprise Linux Server 27/11/20

脚本将设置a0当前行是否以开头Product Name:,因为我们希望每次都重置它,然后,如果该行也包含字符串Server,则将其设置为1然后,如果当前行以开头Ends:,并且a不为0,它将打印第二个字段。

请注意,这也将匹配Product Name:包含notAServer或包含的其他任何内容Server要仅限制单词匹配,可以改用它(假设您有gawkGNU awk):

subscription-manager list --installed | 
    gawk '{if(sub(/^Product Name: */,"")){a=0; n=$0;if(/\<Server\>/){a++}} }/Ends/ && a{print n,$2}'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在同一行上同时打印grep模式和生成的匹配行?

如何在 r 中获取列中的匹配项(即使它们不在同一行号中)?

如何在 Pandas Dataframe 中以逗号分隔的同一行中显示多个匹配项?

匹配同一行中的多列

如何避免使用grep -o换行符在同一行(在多行文本中)进行多次匹配

如何在當前單元格上方找到最接近的匹配值,並在同一行中返回不同的列?

如何使用grep或sed在同一行中提取多个匹配项

匹配不在同一行和同一列中的特定值

如何在 Python 的同一行代码中过滤 2 个不同列(系列)的值?

如何在MySQL表中为同一行的两列插入值

如何在Oracle SQL中对同一行的列进行排名

熊猫:如何在DataFrame列中获取值并将其全部放入同一行

如何在同一行中的 df 列值上方添加 sum() 和 mean() 值?

如何在同一行中解释=和===?

如何在同一行中打印并返回?

如何在同一行中对齐多个列表?

如何在同一行中显示代码?

如何在 Perl 的同一行中打印 rexp

如何在同一行中對齊文本?

如何对同一行中的列求和?

如何在同一张表中插入只有一列与另一行不同的行?

AWK - 匹配字段 1,在同一行中粘贴所有匹配列的字段 2

如何在同一行的一行中显示动态生成的 <select>?

使用行值匹配列名并从 PowerBI 中同一行的列中取值

如何在ecxel“vlookup”中搜索多个列并从同一行的另一列返回值?

如何在shell中在匹配模式的那一行上方打印一行?

如果同一行中另一列中的值匹配,如何比较一列的两个值

如何在 CSS 中调整右列内容的 BOTTOM 使其与前两列的 BOTTOM 在同一行?

如何在Oracle中搜索一行是否是同一列另一行的子字符串