比较shell脚本中输出的两列

时间:2015-09-07 14:38:58

标签: shell awk compare aix

我需要比较输出的两列,它们是数字,检查它们是否相等,如果相等则继续执行一组语句,否则打印一组语句,以防它们不相等。

# lsvg -l appvg | grep 2rrdbase_lv
2rrdbase_lv         jfs2       8       8       1    open/syncd    /lpar2rrd

从上面的输出中,我需要比较两列(第3列,数字值'8'和第4列,数字值'8',检查它们是否相等,如果相等则打印一组语句,否则如果不平等分支到另一组陈述。

如果有人能帮助我,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

喜欢这样:

lsvg -l appvg | awk '{if($3==$4){print "Equal "} else {print "Unequal"}}'

如果您有很多陈述,则格式如下:

lsvg -l appvg | awk '
    $3==$4{
           print "Equal"
           statement1
           statement2
           next                # to avoid processing the "else" statement below
          }

          {
           print "Unequal"
           statement1
           statement2
          }'

答案 1 :(得分:0)

如果要检查所有行的第3列和第4列是否相等(而不是为每条行执行不同的命令):

<ListBox Name="lbEurInsuredType" HorizontalContentAlignment="Stretch" ItemsSource="{Binding}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Margin="0,2">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="80"></ColumnDefinition>
                    <ColumnDefinition Width="30"></ColumnDefinition>
                    <ColumnDefinition Width="20"></ColumnDefinition>
               </Grid.ColumnDefinitions>
               <TextBlock Text="{Binding Title}"></TextBlock>
               <TextBox Text="{Binding Uw}" Grid.Column="1"></TextBox>
               <TextBox Text="{Binding Partner}" Grid.Column="2"></TextBox>
           </Grid>
       </DataTemplate>
   </ListBox.ItemTemplate>
</ListBox>