LESSPIPE.SH(1) Comenzi utilizator LESSPIPE.SH(1) NUME lesspipe.sh - un filtru pentru less SINOPSIS lesspipe.sh [FIIER[e]]... DESCRIERE Scopul lui lesspipe.sh este de a imbunatai rezultatul lui less. Alegerea regulilor care urmeaza sa fie aplicate pentru a modifica rezultatul se bazeaza pe coninutul fiierului. Extensia fiierului este respectata doar in ultima instana. De obicei, lesspipe.sh este apelat ca un filtru de intrare pentru less. Cu ajutorul acestui filtru, less va afia coninutul necomprimat al fiierelor comprimate (gzip, bzip2, compress, zstd, lz4, lzip, xz, lzma sau brotli). Pentru fiierele care conin arhive i directoare, se va afia un tabel de coninut (formatele tar, ar, zip, i7-zip, rar, jar, rpm, deb ms-cabinet i iso). Multe alte fiiere vor fi reformatate pentru afiare. Sunt incluse formatele de suite pdf, dvi, markdown, Office (MS i Openoffice), NetCDF, matlab, html i media (imagine, audio i video). Acest lucru necesita instalarea unor programe de ajutor. De asemenea, filtrul poate fi aplicat in mod recursiv pentru a extrage i afia din mers fiierele din arhive. Acest lucru funcioneaza pana la o adancime de 6, unde aplicarea unui algoritm de decomprimare conteaza ca un nivel separat. Daca instrumentufile raporteaza un text cu o codificare diferita de cea utilizata in terminal, atunci textul va fi transformat folosind iconv in codificarea implicita. Acest lucru presupune ca instrumentul file obine codificarea corecta a fiierului, ceea ce poate fi greit in anumite situaii. Daca se adauga doua puncte ,,:" la numele fiierului, conversia este suprimata. Atunci cand se utilizeaza programele git, vim sau mutt, acestea pot fi activate pentru a citi fiiere care nu sunt de tip text, utilizand lesspipe.sh. Acest lucru este descris in Wiki la adresa https://github.com/wofr06/lesspipe/wiki. ACTIVAREA FILTRULUI Filtrul este apelat din less cu condiia ca variabila de mediu LESSOPEN sa fie definita corespunzator. In cazul shell-urilor de tip ksh (bash, zsh), comanda LESSOPEN="|lesspipe.sh %s"; export LESSOPEN activeaza filtrul pentru <>. Utilizai ruta complet calificata, daca lesspipe.sh nu se afla in ruta de cautare. Comanda pentru a defini LESSOPEN poate fi, de asemenea, afiata prin apelarea lesspipe.sh fara argumente. Aceasta poate fi utilizata chiar i pentru a defini direct LESSOPEN: eval `lesspipe.sh` (bash) sau lesspipe.sh|source /dev/stdin (zsh) Dupa ce ai definit variabila de mediu in modul descris mai sus, less va afia informaii textuale pentru o gama larga de formate de fiiere. In mod normal, filtrul nu este apelat daca intrarea este direcionata catre <> ca in cat somefile | less Aa cum este descris in pagina de manual a <>, filtrarea intr-o conducta poate fi totui forata prin inceperea LESSOPEN cu caracterele |-. LESSOPEN care incepe cu cele doua caractere || pentru a gestiona fiierele goale i erorile de comanda este implementata doar parial, de obicei la eecurile comenzilor din lesspipe.sh se afieaza mesajele de eroare. Variabila LESS_ADVANCED_PREPROCESSOR, acum obsoleta, era utilizata pentru a decide daca html, xml i perl pod trebuie sa fie afiate ca text pur sau nu. Acest lucru a fost schimbat, aceste formate sunt acum intotdeauna interpretate, cu excepia cazului in care la numele fiierului se adauga doua puncte ,,:". Daca urmeaza tipul de fiier corect (html, xml, pod), ieirea poate fi colorata (a se vedea mai jos). Exemplu: less index.html:html Pentru a suprima mesajele informale din prima linie de ieire a filtrului, variabila ENV LESSQUIET poate fi fixata la o valoare nevida. Pentru a dezactiva temporar filtrul, se pot adauga doua puncte la numele fiierului ,,:". In cazul in care numele fiierului conine doua puncte, in locul acestora trebuie folosit un semn egal. COLORAREA IEIRII Filtrul este capabil sa evidenieze sintaxa pentru o mare varietate de tipuri de fiiere. Daca este instalat, bat/batcat este utilizat pentru colorarea ieirii. Daca nu, se incearca pe rand pygmentize, source-highlight, code2color i vimcolor. Pentru bat/batcat, tema este stabilita la ansi, iar stilul este stabilit la plain, care se apropie mai mult de ieirea nefiltrata de less. Aceste configuraii pot fi modificate in ~/.config/bat/config sau prin variabilele de mediu BAT_STYLE i BAT_THEME. Dintre programele de colorare, se poate fora utilizarea unuia dintre ele prin definirea variabilei ENV LESSCOLORIZER la numele programului de colorare. Pentru pygmentize i bat/batcat sunt permise configurari de opiuni restranse, dupa cum urmeaza: LESSCOLORIZER='pygmentize -O style=foo' LESSCOLORIZER='bat --style=foo --theme=bar' Evidenierea sintaxei este activata daca variabila de mediu LESS exista i conine opiunea -R sau daca <> este apelat cu aceasta opiune. Acest lucru garanteaza ca secvenele de control sunt convertite in culori i nu distorsioneaza afiarea. Utilizarea opiunii -r nu este recomandata, deoarece dispunerea ecranului poate fi greita, daca in ieire se afla linii lungi. Evidenierea sintaxei poate fi dezactivata prin adaugarea a doua puncte dupa numele fiierului, daca ieirea a fost colorata. Daca a fost aleasa un limbaj greit pentru evidenierea sintaxei, atunci poate fi forata un alt limbaj prin adaugarea a doua puncte i a unui sufix dupa numele fiierului. Intr-o conducta, aceasta metoda nu poate fi utilizata. Ca o soluie se poate adauga un ultim argument care este inspectat de lesspipe.sh. Este posibil sa se foloseasca doar doua puncte ,,:" (dezactivarea filtrului) sau :extensia (forarea limbajului), de exemplu cu comanda care genereaza cod c | less - :c Atunci cand sunt indeplinite condiiile de evideniere a sintaxei, listele de directoare i listele cu coninutul fiierelor tar sunt de asemenea colorate. Deoarece less este utilizat ca navigator implicit in alte programe, alegerea programului de colorare poate afecta rezultatul acestor programe. Pentru man, git i perldoc) lesspipe.sh nu face filtrare. URMARIREA CRETERII FIIERELOR De indata ce lesspipe.sh apeleaza un program pentru a converti datele de intrare, capacitatea de a urmari fiierele in cretere (utilizand comanda F din less) este pierduta. Acest lucru este de obicei dorit pentru fiiere de jurnal precum syslog. Pentru a dezactiva temporar lesspipe.sh trebuie adaugate doua puncte ca ultim argument pentru less ca de exemplu in less /var/log/syslog : sau less pot fi apelat cu argumentul +F, care este echivalent cu F in paginator: less +F /var/log/syslog Adaugarea a doua puncte la numele fiierului nu funcioneaza, deoarece atunci filtrul trebuie sa fie activat pentru a elimina cel puin cele doua puncte i pentru a utiliza <> pentru fiierul original. Pe de alta parte, fiierele jurnal care nu cresc pot fi colorate folosind ccze. Recunoaterea sa ca fiier jurnal este dificila daca nu se termina in .log, dar poate fi forata prin adaugarea :.log la numele fiierului, ca de exemplu in less /var/log/syslog:.log UTILIZARE AVANSATA Aceasta versiune a lesspipe.sh va permite sa vizualizai fiiere individuale coninute intr-o arhiva de fiiere, care la randul ei poate fi coninuta intr-o alta arhiva. Notaia pentru vizualizarea fiierelor din arhivele multi-fiiere este less fiier_arhiva:fiier_coninut sau chiar less super_arhiva:fiier_arhiva:fiier_coninut Pentru a afia ultimul fiier in formatul brut al lanului, trebuie adaugate doua puncte (:) la numele fiierului. Daca acesta conine doua puncte, atunci trebuie sa se utilizeze semnul egal (=) drept caracter de separare alternativ. Din nou, aceasta metoda de extragere i afiare a fiierelor nu funcioneaza daca less este apelat intr-o conducta de ieire i LESSOPEN incepe cu caracterele |-. Ca i in cazul evidenierii sintaxei, soluia este de a utiliza un al doilea argument care incepe cu doua puncte. In acest caz, comanda de mai sus ar fi scrisa sub forma cat super_arhiva | less - :arhiva:fiier_coninut MECANISM DE COMPLETARE A CONINUTULUI ARHIVEI Cu ajutorul fiierelor lesscomplete (pentru zsh i bash), _less (pentru zsh) i less_completion (pentru bash) furnizate, se poate realiza o completare a numelui cu ajutorul tastei <> pentru fiierele din arhive. Introducerea a doua puncte (:) sau a unui semn egal (=) dupa numele unui fiier de arhiva i apoi apasarea tastei de tabulare declaneaza mecanismul de completare. Acest lucru funcioneaza i in arhivele inlanuite. Fiierele lesscomplete i less_completare trebuie sa se afle intr-unul dintre directoarele enumerate in $PATH, iar funcia _less pentru zsh intr-un director enumerat de $fpath. Scriptul less_completion trebuie sa aiba ca sursa un script de iniializare bash, de exemplu, in ~/.bashrc. Se pot adauga directoare noi, cum ar fi ~/scripts i ~/.fpath, utilizand comenzile PATH=~/scripts:$PATH i fpath=(~/.fpath $fpath) FILTRAREA DEFINITA DE UTILIZATOR Filtrarea lesspipe.sh poate fi inlocuita sau imbunataita de un program definit de utilizator. Un astfel de program trebuie sa se numeasca fie .lessfilter (i sa fie plasat in directorul personal al utilizatorului), fie lessfilter (i sa fie accesibil dintr-un director menionat in $PATH). Acesta trebuie sa fie executabil i trebuie sa se incheie cu un cod de ieire 0, daca filtrarea a fost efectuata in cadrul scriptului respectiv. In caz contrar, un cod de ieire diferit de zero inseamna ca filtrarea este lasata in seama <>. Acest mecanism poate fi utilizat pentru a adauga filtre pentru noi formate sau, de exemplu, pentru a inhiba filtrarea pentru anumite tipuri de fiiere. AUTOR Wolfgang Friebel RAPORTAREA ERORILOR Raportai erorile la . DREPTURI DE AUTOR Drepturi de autor (C) 2005-2023 Wolfgang Friebel Acesta este software liber; consultai sursa pentru condiiile de copiere. NU exista NICIO garanie; nici macar pentru COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP. CONSULTAI I less(1) O descriere a lesspipe.sh este, de asemenea, coninuta in fiierul README coninut in pachetul de cod sursa TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . lesspipe.sh ianuarie 2023 LESSPIPE.SH(1)