SCOLS-FILTER(5) Formaty plikow i konwencje SCOLS-FILTER(5) NAZWA scols-filter - skladnia wyrazen filtrow libsmartcols SKLADNIA wyraz: param | ( wyraz ) | wyraz && wyraz | wyraz AND wyraz | wyraz || wyraz | wyraz OR wyraz | !wyraz | NOT wyraz | wyraz == wyraz | wyraz EQ wyraz | wyraz != wyraz | wyraz NE wyraz | wyraz >= wyraz | wyraz GE wyraz | wyraz <= wyraz | wyraz LE wyraz | wyraz > wyraz | wyraz GT wyraz | wyraz < wyraz | wyraz LT wyraz | wyraz =~ lancuch | wyraz !~ lancuch param: l-calk | l-zmprz | lancuch | wart-log | uchwyt l-calk: [0-9]* | [0-9]*[KMGTPEZY] | [0-9]*[KMGTPEZY]iB l-zmprz: l-calk.l-calk wart-log: "true" | "false" | "TRUE" | "FALSE" lancuch: "[^\n\"]*" | '[^\n\']*' uchwyt: [a-zA-Z][a-zA-Z_.%:/\-0-9]* OPIS Wyrazenie filtra mozna stosowac w aplikacji polaczonej z libsmartcols do filtrowania danych wyjsciowych. Aplikacja moze zastosowac filtry przed zebraniem wszystkich danych do wyjscia, aby zmniejszyc wykorzystanie zasobow i poprawic wydajnosc. Czyni to filtr scols efektywniejszym od korzystania z programu grep(1) na pelnym wyjsciu. Na przyklad lsblk --output NAME,LABEL,FSTYPE --filter 'NAME=="sda1"' pomaga lsblk(1) nie odczytywac etykiet LABEL ze wszystkich urzadzen blokowych z udevd lub libblkid, lecz odczytac je jedynie dla urzadzenia sda1. Filtr mozna tez stosowac wobec kolumn, ktorych nie uzywa sie w wyjsciu. UWAGI DOTYCZACE SKLADNI Wyrazenie sklada sie z uchwytow, param(etrow) i operatorow. Aktualnie obslugiwanym typem `uchwyt`u jest jedynie nazwa kolumny. Nazwe trzeba podac bez cudzyslowow. Przed nadaniem wartosci, aplikacji przypisuje nazwy kolumn w danym wyrazeniu do kolumn wyjsciowych tabeli i przypisuje typ danych kolumny do uchwytu. Domyslnym typem jest "lancuch". param sluzy do bezposredniej reprezentacji wartosci. Obecnie obslugiwane sa liczby calkowite, liczby zmiennoprzecinkowe, lancuchy i wartosci logiczne. Operator dziala z jednym lub dwoma operandami. Operator oczekuje okreslonego typu danych swych operandow. Przekazanie nieoczekiwanego typu danych operatorowi spowoduje wystapienie bledu skladni. Biblioteka moze rzutowac pomiedzy typami danych, preferowanym jest zawsze typ okreslony przez param, a w przypadku wyrazenia z liczba oraz liczba zmiennoprzecinkowa, preferowana jest liczba zmiennoprzecinkowa. Operatorami przyjmujacymi dwa operandy sa: and, or, eq, ne, le, lt, ge, gt, =~, !~. Operatory nazwane alfabetycznie maja aliasy w stylu jezyka C: &&, ||, ==, !=, <, <=, >= i >. ! jest jedynym operatorem przyjmujacym jeden operand. Jesli nie poda sie operatora, wyrazenie jest prawdziwe, gdy param(etr) lub uchwyt sa niepuste. Na przyklad --filter NAME zwroci wiersze, gdzie NAME jest niepusta. =~ i !~ sluza do dopasowywania wyrazen regularnych; jesli lancuch po prawej stronie zostanie dopasowany (albo nie zostanie dopasowany, w przypadku !~, do wyrazenia regularnego po lewej stronie), wynik jest prawdziwy. Prawa strona operandu musi byc doslownym lancuchem. Kolejnosc operatorow jest nastepujaca: or, and oraz eq, ne, le, gt, ge, =~, !~, not. OGRANICZENIA W wartosciach typu l-zmprz i l-calk silnik filtra obsluguje jedynie liczby nieujemne. l-calk jest 64-bitowa liczba bez znaku, a l-zmprz liczba typu long double. Po l-calk moze wystepowac jeden z przyrostkow oznaczajacych wielokrotnosc: KiB, GiB, TiB, PiB, EiB, ZiB i YiB (czastka "iB" jest opcjonalna, tzn. "K" ma takie samo znaczenie jak "KiB"). AUTORZY Karel Zak Na podstawie pierwotnej implementacji autorstwa Masatake YAMATO . ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Biblioteka libsmartcols jest czescia pakietu util-linux od wersji 2.25. Mozna go pobrac ze strony Archiwum jadra Linux . util-linux 2.42.3 2026-09-02 SCOLS-FILTER(5)