Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NOM

       scols-filter - syntaxe pour les expressions de filtre de libsmartcols

SYNTAXE

           expr: param
                 | ( expr )
                 | expr && expr | expr AND expr
                 | expr || expr | expr OR expr
                 | !expr        | NOT expr
                 | expr == expr | expr EQ expr
                 | expr != expr | expr NE expr
                 | expr >= expr | expr GE expr
                 | expr <= expr | expr LE expr
                 | expr >  expr | expr GT expr
                 | expr <  expr | expr LT expr
                 | expr =~ string
                 | expr !~ string

           param: entier
                 | virgule flottante
                 | chaîne
                 | booléen
                 | holder

           entier: [0-9]*
                 | [0-9]*[KMGTPEZY]
                 | [0-9]*[KMGTPEZY]iB

           virgule flottante: entier.entier

           booléen: "true" | "false" | "TRUE" | "FALSE"

           chaîne: "[^\n\"]*" | '[^\n\']*'

           holder: [a-zA-Z][a-zA-Z_.%:/\-0-9]*

DESCRIPTION

       L’expression de filtre peut être utilisée par l’application liée à libsmartcols pour filtrer les données
       en sortie. L’application peut utiliser le filtre avant de collecter toutes les données de la sortie afin
       de réduire les ressources et améliorer la performance. Cela rend le filtre scols plus efficace que
       grep(1) sur la sortie complète. Par exemple

            lsblk --output NOM,ÉTIQUETTE,TYPESF --filter 'NOM=="sda1"'

       aide lsblk(1) à ne pas lire les ÉTIQUETTES pour tous les périphériques blocs de udevd ou libblkid mais le
       lire uniquement pour le périphérique sda1.

       Le filtre peut aussi être utilisé pour les colonnes qui ne sont pas utilisées dans la sortie.

NOTES SUR LA SYNTAXE

       Une expression consiste en holders, params et opérateurs.

       Le seul type de « holder » actuellement supporté est le nom de la colonne. Le nom doit être utilisé sans
       guillemets. Avant l’évaluation, l’application fait correspondre les noms des colonnes dans l’expression
       donnée avec les colonnes de la table de sortie et assigne le type de donnée de la colonne au « holder ».
       Le type par défaut est « chaîne ».

       Le « param » représente une valeur directement. Les types de données actuellement supportés sont entiers,
       virgules flottantes, chaînes et booléens.

       Un opérateur travaille avec un ou deux opérandes. Un opérateur a des attentes quant au type de donnée de
       ses opérandes. Donner un type de donnée inattendu à un opérateur provoque une erreur de syntaxe. La
       bibliothèque sait convertir les types de données, celui qui est préféré est toujours le type spécifié par
       « param » et dans le cas d’expressions avec des nombres et des virgules flottantes, la virgule flottante
       est préférée.

       Les opérateurs prenant deux opérandes sont « and », « or », « eq », « ne », « le », « lt », « ge »,
       « gt », « =~ », « !~ ». Les opérateurs avec un nom alphabétique ont des synonymes comme ceux du langage
       C : « && », « || », « == », « != », « < », « ⇐ », « >= » et « > ».

       « ! » est le seul opérateur qui prend un opérande. Si aucun opérande n’est spécifié, l’expression est
       vraie si param ou holder ne sont pas vides. Par exemple, « --filter NOM » retournera les lignes où la
       colonne NOM n’est pas vide.

       « =~ » et « !~ » sont pour la correspondance des expressions régulières ; si une chaîne à droite
       correspond (ou ne correspond pas pour « !~ ») à une expression régulière du côté gauche, le résultat est
       vrai. L’opérande de droite doit être une chaîne littérale.

       L’ordre des opérations entre les opérateurs est « or », « and » et « eq », « ne », « le », « gt »,
       « ge », « =~ », « !~ », « not ».

LIMITATIONS

       About float and integer typed values, the filter engine supports only non-negative numbers. The integer
       is unsigned 64-bit number, and float is long double. The integer may be followed by the multiplicative
       suffixes KiB, GiB, TiB, PiB, EiB, ZiB, and YiB (the "iB" is optional, e.g., "K" has the same meaning as
       "KiB").

AUTEURS

       Karel Zak <kzak@redhat.com>

       Based on original implementation from Masatake YAMATO <yamato@redhat.com>.

SIGNALER DES BOGUES

       Pour signaler un bogue, utilisez le gestionnaire de bogues
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

       La bibliothèque libsmartcols fait partie du paquet util-linux depuis la version 2.25. Elle est disponible
       sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                    SCOLS-FILTER(5)