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

NUME

       scols-filter - sintaxa pentru expresiile de filtrare libsmartcols

SINTAXĂ

           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 =~ șir
                 | expr !~ șir

           param: integer
                 | float
                 | șir
                 | boolean
                 | holder

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

           float: integer.integer

           boolean: "true" | "false" | "TRUE" | "FALSE"

           șir: "[^\n\"]*" | '[^\n\']*'

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

DESCRIERE

       Expresia filtrului poate fi utilizată de aplicația legată cu libsmartcols pentru a filtra datele de
       ieșire. Aplicația poate utiliza filtrul înainte de a aduna toate datele pentru ieșire pentru a reduce
       resursele și a îmbunătăți performanța. Acest lucru face ca filtrul scols să fie mai eficient decât
       grep(1) pe toată ieșirea. De exemplu

            lsblk --output NAME,LABEL,FSTYPE --filter 'NAME=="sda1"'

       ajută lsblk(1) să nu citească LABEL-urile pentru toate dispozitivele bloc din udevd sau libblkid, ci să
       le citească doar pentru dispozitivul sda1.

       Filtrul poate fi utilizat și pentru coloanele care nu sunt utilizate în ieșire.

NOTE SINTAXĂ

       O expresie constă din titulari(holders), parametri și operatori.

       Tipul „holde” (titular) acceptat în prezent este doar numele coloanei. Numele trebuie să fie utilizat
       fără ghilimele. Înainte de evaluare, aplicația asociază numele coloanelor din expresia dată coloanelor
       tabelului de ieșire și atribuie tipul de date al coloanei titularului. Tipul implicit este „string”
       (șir).

       Parametrul „param” este destinat reprezentării directe a unei valori. Tipurile de date acceptate în
       prezent sunt „integer”, „float”, „string” și „boolean”.

       Un operator lucrează cu unul sau doi operanzi. Un operator are o așteptare cu privire la tipul (tipurile)
       de date ale operanzilor săi. Acordarea unui tip de date neașteptat unui operator provoacă o eroare de
       sintaxă. Biblioteca poate face distribuția între tipuri de date, preferința fiind întotdeauna tipul
       specificat de „param”, iar în cazul unei expresii cu număr și „float”, preferința este „float”.

       Operatorii care acceptă doi operanzi sunt „and”, „or”, „eq”, „ne”, „le”, „lt”, „ge”, „gt”, „=~”, „!~”.
       Operatorii numiți alfabetic au un alias în limbaj C: „&&”, „||”, „==”, „!=”, „<”, „⇐”, „>=” și „>”.

       „!” este singurul operator care are un singur operand. Dacă nu este specificat niciun operator, atunci
       expresia este adevărată dacă parametrul „param” sau titularul „holder” nu sunt goale. De exemplu,
       „--filter NUME” va returna liniile în care coloana NUME nu este goală.

       „=~” și „!~” sunt pentru potrivirea expresiei regulate; dacă un șir de caractere din partea dreaptă se
       potrivește (sau nu se potrivește pentru „!~”) cu o expresie regulată din partea stângă, rezultatul este
       true (adevărat). Operandul din partea dreaptă trebuie să fie un șir literal.

       Prioritatea operatorilor este „or”, „and” și „eq”, „ne”, „le”, „gt”, „ge”, „=~”, „!~”, „not”.

LIMITĂRI

       În ceea ce privește valorile tip „float” și „integer”, motorul de filtrare acceptă numai numere
       ne-negative. „integer” este un număr pe 64 de biți fără semn, iar „float” este un număr dublu lung.
       „integer” poate fi urmat de sufixele multiplicative KiB, GiB, TiB, PiB, EiB, ZiB și YiB („iB” este
       opțional, de exemplu, „K” are aceeași semnificație ca „KiB”).

AUTORI

       Karel Zak <kzak@redhat.com>

       Pe baza implementării inițiale de la Masatake YAMATO <yamato@redhat.com>

RAPORTAREA ERORILOR

       Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

       Biblioteca libsmartcols face parte din pachetul util-linux începând cu versiunea 2.25. Acesta poate fi
       descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

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