SCOLS-FILTER(5) Filformat och konventioner SCOLS-FILTER(5) NAMN scols-filter - syntax for libsmartcols filteruttryck SYNTAX 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: integer | float | string | boolean | holder integer: [0-9]* | [0-9]*[KMGTPEZY] | [0-9]*[KMGTPEZY]iB float: integer.integer boolean: "true" | "false" | "TRUE" | "FALSE" string: "[^\n\"]*" | '[^\n\']*' holder: [a-zA-Z][a-zA-Z_.%:/\-0-9]* BESKRIVNING Filteruttrycket kan anvandas av program som ar lankade med libsmartcols for att filtrera utdata. Programmet kan anvanda filtret innan det samlar in alla data for utmatningen for att minska resursatgangen och forbattra prestandan. Detta gor scols-filter effektivare an grep(1) pa hela utmatningen. Till exempel lsblk --output NAME,LABEL,FSTYPE --filter 'NAME=="sda1"' hjalper lsblk(1) att endast lasa LABEL fran udevd eller libblkid for enheten sda1, i stallet for for alla blockenheter. Filtret kan ocksa anvandas for kolumner som inte anvands i utdata. SYNTAXANTECKNINGAR Ett uttryck bestar av holders, params och operatorer. Den enda typ av holder som for narvarande stods ar kolumnnamn. Namnet ska anvandas utan citattecken. Fore utvarderingen mappar programmet kolumnnamnen i uttrycket till utdatatabellens kolumner och tilldelar hallaren kolumnens datatyp. Standardtypen ar "string". param anvands for att representera ett varde direkt. De datatyper som for narvarande stods ar integer, float, string och boolean. En operator arbetar med en eller tva operander och forvantar sig vissa datatyper for dem. En ovantad datatyp orsakar ett syntaxfel. Biblioteket kan konvertera mellan datatyper. Den typ som anges av param foredras alltid. I uttryck med bade heltal och flyttal foredras flyttal. Operatorer som tar tva operander ar and, or, eq, ne, le, lt, ge, gt, =~, !~. Alfabetiskt namngivna operatorer har C-spraksanpassade alias: &&, ||, ==, !=, <, <=, >= och >. ! ar den enda operatorn som tar en operand. Om ingen operator anges ar uttrycket sant om param eller holder inte ar tomma. Till exempel returnerar --filter NAME rader dar kolumnen NAME inte ar tom. =~ och !~ anvands for matchning med reguljara uttryck. Resultatet ar sant om en strang pa hoger sida matchar (eller inte matchar, for !~) ett reguljart uttryck pa vanster sida. Operanden pa hoger sida maste vara en strangliteral. Prioriteterna inom operatorer ar or, and, och eq, ne, le, gt, ge, =~, !~, not. BEGRANSNINGAR Nar det galler typvardena float och integer stoder filtermotorn endast icke-negativa tal. integer ar ett osignerat 64-bitars tal och float ar en lang dubbel. Heltal kan foljas av de multiplikativa suffixen KiB, GiB, TiB, PiB, EiB, ZiB och YiB (iB ar valfritt, t.ex. har "K" samma betydelse som "KiB"). UPPHOVSPERSONER Karel Zak Baserat pa originalimplementationen fran Masatake YAMATO . FELRAPPORTERING For felrapporter, anvand felhanteraren . TILLGANGLIGHET Biblioteket libsmartcols ar en del av paketet util-linux sedan version 2.25. Det kan laddas ner fran Linux Kernel Archive . util-linux 2.42.4 2026-09-21 SCOLS-FILTER(5)