Skip to content

filter command can't handle multiple predicates in a nice way #35

@sdimitro

Description

@sdimitro
sdb[gw]> lspci | filter 'obj.vendor == 0x15b3 and obj.aer_stats != 0' | member .aer_stats.dev_total_cor_errs
sdb: filter: invalid operands to comparison ('struct aer_stats *' and 'int')
sdb[gw]> lspci | filter 'obj.vendor == 0x15b3' | filter 'obj.aer_stats' | count
sdb: filter: invalid input: comparison operator is missing
sdb[gw]> lspci | filter 'obj.vendor == 0x15b3' | filter 'obj.aer_stats != 0' | count
(unsigned long long)2
sdb[gw]> lspci | filter 'obj.vendor == 0x15b3' | filter 'obj.aer_stats != 0' | member .aer_stats | deref
(struct aer_stats){
        .dev_cor_errs = (u64 [16]){},
        .dev_fatal_errs = (u64 [27]){},
        .dev_nonfatal_errs = (u64 [27]){},
        .dev_total_cor_errs = (u64)0,
        .dev_total_fatal_errs = (u64)0,
        .dev_total_nonfatal_errs = (u64)0,
        .rootport_total_cor_errs = (u64)0,
        .rootport_total_fatal_errs = (u64)0,
        .rootport_total_nonfatal_errs = (u64)0,
}
(struct aer_stats){
        .dev_cor_errs = (u64 [16]){},
        .dev_fatal_errs = (u64 [27]){},
        .dev_nonfatal_errs = (u64 [27]){},
        .dev_total_cor_errs = (u64)0,
        .dev_total_fatal_errs = (u64)0,
        .dev_total_nonfatal_errs = (u64)0,
        .rootport_total_cor_errs = (u64)0,
        .rootport_total_fatal_errs = (u64)0,
        .rootport_total_nonfatal_errs = (u64)0,
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions