SCOLS-FILTER(5) Formats de fichier et conventions SCOLS-FILTER(5) 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 | chaine | booleen | holder entier: [0-9]* | [0-9]*[KMGTPEZY] | [0-9]*[KMGTPEZY]iB virgule flottante: entier.entier booleen: "true" | "false" | "TRUE" | "FALSE" chaine: "[^\n\"]*" | '[^\n\']*' holder: [a-zA-Z][a-zA-Z_.%:/\-0-9]* DESCRIPTION L'expression de filtre peut etre utilisee par l'application liee a libsmartcols pour filtrer les donnees en sortie. L'application peut utiliser le filtre avant de collecter toutes les donnees de la sortie afin de reduire les ressources et ameliorer la performance. Cela rend le filtre scols plus efficace que grep(1) sur la sortie complete. Par exemple lsblk --output NOM,ETIQUETTE,TYPESF --filter 'NOM=="sda1"' aide lsblk(1) a ne pas lire les ETIQUETTES pour tous les peripheriques blocs de udevd ou libblkid mais le lire uniquement pour le peripherique sda1. Le filtre peut aussi etre utilise pour les colonnes qui ne sont pas utilisees dans la sortie. NOTES SUR LA SYNTAXE Une expression consiste en holders, params et operateurs. Le seul type de << holder >> actuellement supporte est le nom de la colonne. Le nom doit etre utilise sans guillemets. Avant l'evaluation, l'application fait correspondre les noms des colonnes dans l'expression donnee avec les colonnes de la table de sortie et assigne le type de donnee de la colonne au << holder >>. Le type par defaut est << chaine >>. Le << param >> represente une valeur directement. Les types de donnees actuellement supportes sont entiers, virgules flottantes, chaines et booleens. Un operateur travaille avec un ou deux operandes. Un operateur a des attentes quant au type de donnee de ses operandes. Donner un type de donnee inattendu a un operateur provoque une erreur de syntaxe. La bibliotheque sait convertir les types de donnees, celui qui est prefere est toujours le type specifie par << param >> et dans le cas d'expressions avec des nombres et des virgules flottantes, la virgule flottante est preferee. Les operateurs prenant deux operandes sont << and >>, << or >>, << eq >>, << ne >>, << le >>, << lt >>, << ge >>, << gt >>, << =~ >>, << !~ >>. Les operateurs avec un nom alphabetique ont des synonymes comme ceux du langage C : << && >>, << || >>, << == >>, << != >>, << < >>, << <= >>, << >= >> et << > >>. << ! >> est le seul operateur qui prend un operande. Si aucun operande n'est specifie, l'expression est vraie si param ou holder ne sont pas vides. Par exemple, << --filter NOM >> retournera les lignes ou la colonne NOM n'est pas vide. << =~ >> et << !~ >> sont pour la correspondance des expressions regulieres ; si une chaine a droite correspond (ou ne correspond pas pour << !~ >>) a une expression reguliere du cote gauche, le resultat est vrai. L'operande de droite doit etre une chaine litterale. L'ordre des operations entre les operateurs 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 Based on original implementation from Masatake YAMATO . SIGNALER DES BOGUES Pour signaler un bogue, utilisez le gestionnaire de bogues . DISPONIBILITE La bibliotheque libsmartcols fait partie du paquet util-linux depuis la version 2.25. Elle est disponible sur l'archive du noyau Linux . util-linux 2.41 2025-03-29 SCOLS-FILTER(5)