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, zlib sau brotli). Pentru fiierele care conin arhive i directoare (de exemplu, formatele tar, ar, zip, 7-zip, rar, jar, cpio, rpm, deb, ms-cabinet, iso, dmg, appimage i snap), se va afia un tabel de coninut. Multe alte fiiere vor fi reformatate pentru afiare. Sunt incluse formatele pdf, dvi, markdown, suite Office (MS i Openoffice), NetCDF, matlab, device tree blob, html i media (imagine, audio i video). Acesta necesita instalarea unor programe ajutatoare. 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) or lesspipe.sh|source /dev/stdin (zsh) Comenzile de mai sus funcioneaza numai in modul descris daca numele fiierului este lesspipe.sh. Daca acesta este instalat sub un nume diferit, atunci apelarea fara un argument va funciona ca un filtru cu fanionul LESSQUIET activat i ateptand intrare de la STDIN. 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 |-. Daca comenzile din lesspipe.sh eueaza, in unele cazuri sunt afiate mesaje de eroare. Acest lucru este considerat un comportament defectuos i trebuie raportat. 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. Fiiere HTML, XML i Perl POD Fiierele in format htmli perl pod sunt intotdeauna interpretate. Cu toate acestea, uneori coninutul original al fiierului ar trebui sa fie vizualizat in schimb. Dupa cum s-a menionat anterior, acest lucru poate fi realizat prin adaugarea de doua puncte (,,:") la numele fiierului. Daca urmeaza tipul corect de fiier (html, pod), ieirea poate fi colorata (a se vedea i seciunea de mai jos). Exemplu: less index.html:html Daca este instalat binarul xmq, atunci xml este redat diferit, astfel incat structura xml sa fie mai bine recunoscuta. O afiare similara pentru coninutul html folosind xmq se obine prin adaugarea a doua puncte (,,:") la numele fiierului. Pentru a obine coninutul original al fiierului html, sunt necesare de doua ori doua puncte in acest caz (,,::"). COLORAREA IEIRII Filtrul este capabil sa evidenieze sintaxa pentru o mare varietate de tipuri de fiiere. Daca este instalat, nvimpager este utilizat pentru colorarea ieirii. Daca nu, sunt incercate pe rand bat/batcat, pygmentize, source-highlight, vimcolor i code2color. Pentru bat/batcat, tema este stabilita la ansi i stilul este stabilit la plain, ceea ce se apropie de rezultatul nefiltrat al less. Aceste opiuni pot fi modificate in ~/.config/bat/config sau prin variabilele de mediu BAT_STYLE i BAT_THEME. Coninutul fiierelor jurnal poate fi afiat in culori daca programul tspin este instalat i daca la numele fiierului se adauga irul ,,:log" sau daca extensia fiierului este ,,log". 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' # -P este permisa, de asemenea LESSCOLORIZER='bat --style=foo --theme=bar' # implicit: theme=ansi, style=plain 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 ales un limbaj greit pentru evidenierea sintaxei, atunci poate fi forat un alt limbaj prin adaugarea a doua puncte i a unui sufix dupa numele fiierului. Lista sufixelor i a limbilor acceptate poate fi imprimata folosind urmatoarele comenzi de colorare: bat --list-languages batcat --list-languages pygmentize -L lexers source-highlight --lang-list code2color -h vimcolor -L (atat pentru vimcolor, cat i pentru nvimpager) 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 (de exemplu, man, git i perldoc) lesspipe.sh poate fi angajat i poate modifica rezultatul acestor programe. URMARIREA CRETERII FIIERELOR Abilitatea de a vizualiza fiierele pe masura ce cresc (utila de obicei pentru fiierele jurnal, cum ar fi syslog) (folosind comanda F din less sau apeland less cu opiunea +F) se poate pierde daca lesspipe.sh stocheaza datele de intrare intr-un fiier temporar pentru procesare ulterioara. Aceasta problema poate fi remediata adaugand doua puncte (,,:") ca ultim argument pentru less, de exemplu: less /var/log/syslog : sau daca LESSOPEN incepe cu |- i less: este apelat printr-o conducta cat /var/log/syslog | less +F - : 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 fiierul lesscomplete furnizat (pentru zsh i bash) i fiierele _less (pentru zsh) i less (pentru bash) generate in timpul instalarii, se poate realiza completarea cu tasta <> pentru fiierele din arhive. Introducerea unui semn de doua puncte (:) sau a unui semn egal (=) dupa numele unui fiier arhivat i apoi apasarea tastei <> activeaza mecanismul de completare. Acest lucru funcioneaza i in arhivele in lan. Fiierele necesare pentru algoritmul de completare sunt instalate in directoare in conformitate cu opiunile selectate in timpul instalarii (scriptul de configurare). Fiierul lesscomplete trebuie sa se afle intr-unul dintre directoarele listate in $PATH, iar funcia _less pentru zsh intr-un director listat de $fpath. Fiierul less cu instruciuni de completare pentru bash trebuie sa fie sursa intr-un script de iniializare bash, de exemplu in ~/.bashrc. Directoare noi, precum ~/scripts i ~/.fpath (pentru zsh), pot fi adaugate folosind comenzile PATH=~/scripts:$PATH # (lesspipe.sh, less) and fpath=(~/.fpath $fpath) # (_less, zsh only) In zsh, trebuie apelat compinit i trebuie activata opiunea menucomplete, daca nu a fost deja facuta. Acest lucru se poate realiza cu ajutorul comenzilor autoload compinit compinit -Uz setopt menucomplete In bash, bash-completion (de obicei un pachet cu acest nume) trebuie sa fie instalat. 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. Un exemplu de .lessfilter ar putea arata astfel: #!/usr/bin/env bash case $1 in *.md|*.MD|*.mkd|*.markdown|*.rst) # daca modulul Python rich.markdown nu este gasit, atunci # codul de ieire nu este nul i se apeleaza lesspipe.sh python3 -m rich.markdown -c $1 ;; *.html|*.htm) # apeleaza programul tau preferat de formatare HTML, <> este doar un exemplu plictisitor cat -b $1 ;; *) exit 1;; esac AUTOR Wolfgang Friebel RAPORTAREA ERORILOR Raportai erorile la . DREPTURI DE AUTOR Drepturi de autor (C) 2005-2026 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 poate fi de asemenea gasita 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 aprilie 2026 LESSPIPE.SH(1)