Altro che grep! Rga cerca e trova dati anche nei file multimediali e compressi

Presentiamo rga (ripgrep-all), un evoluto strumento di ricerca in grado di cercare testi in file multimediali, archivi compressi, database e documenti in vari formati. Le sue funzionalità principali e come installarlo sui vari sistemi operativi.

Il comando grep è ampiamente utilizzato nei sistemi operativi Unix e Unix-like, come Linux e macOS, per cercare testo all’interno dei file. Il nome grep sta per “Global Regular Expression Print“, che suggerisce la sua capacità di utilizzare espressioni regolari per cercare e trovare pattern specifici. Il progetto rga (abbreviazione di ripgrep-all) rappresenta un’evoluzione non solo di grep ma anche di altri tool di ricerca similari. rga, ad esempio, consente di trovare dati nei file multimediali, negli archivi compressi, nelle immagini, nei database SQLite, nei documenti PDF, Office e in molti altri formati.

Oltre al comando grep, abbiamo dedicato un intero articolo ai segreti della ricerca di Windows e a come si possano cercare file sui sistemi Windows 10 e Windows 11. rga si propone come una soluzione ideale per chi necessita di svolgere ricerche approfondite su contenuti eterogenei.

Cercare e trovare file con rga: le funzionalità principali

Uno strumento evoluto come rga, scaricabile da GitHub nella sua versione più recente, permette di usare le espressioni regolari (o regular expression) per cercare informazioni anche all’interno di file multimediali complessi. Lo strumento si integra infatti con componenti software quali pandoc, poppler e ffmpeg per estrarre il contenuto testuale da formati come PDF, video, immagini e documenti compressi.

Grazie a una gestione ottimale della ricorsione, rga può scendere in profondità negli archivi compressi, eseguendo la ricerca nei file contenuti all’interno, senza la necessità di estrarli preventivamente.

I risultati delle ricerche condotte con rga sono conservati in un’apposita cache che permette di sveltire le successive interrogazioni sul contenuto dei file già analizzati.

Una delle caratteristiche più apprezzate di rga è la sua perfetta integrazione con fzf, un fuzzy finder che migliora l’esperienza utente durante la “navigazione” nei risultati di ricerca.

fzf è uno strumento di ricerca testuale che consente di cercare e filtrare rapidamente file e contenuti in modo interattivo. È progettato per essere utilizzato nella finestra del terminale e offre una ricerca fuzzy (da qui il nome). Significa che il software può abbinare le stringhe di ricerca anche se esse non corrispondono esattamente al contenuto dei file o alle righe di testo prese in esame.

Come installare e usare rga

rga si propone come una soluzione multipiattaforma, compatibile quindi con tutti i vari sistemi operativi.

In ambiente Linux, è disponibile tramite il package manager pacman su Arch Linux (pacman -S ripgrep-all) mentre sui sistemi Debian, Ubuntu e derivati si installa con apt. È necessario installare anche le già citate dipendenze come pandoc, poppler-utils e ffmpeg. Esempio: sudo apt install ripgrep pandoc poppler-utils ffmpeg -y.

Su macOS, il software è installabile tramite Homebrew (brew install rga pandoc poppler ffmpeg) o MacPorts, mentre su Windows è disponibile tramite Chocolatey (choco install ripgrep-all) o Scoop (scoop install rga), con le rispettive dipendenze.

Vi invitiamo a questo punto a scaricare l’intero contenuto di questa cartella di esempio: ci sono file multimediali (formato MKV), archivi compressi, un database SQLite e un documento in formato OpenDocument (ODT).

Provate quindi a digitare, in una finestra del terminale, quello che segue:

rga "hello" demo/

Vedrete che rga restituirà tutte le occorrenze della stringa “hello” specificata, effettuando una ricerca approfondita anche nel contenuto di formati che i meccanismi tradizionali di norma saltano a piè pari.

Gli adattatori: cosa sono e a cosa servono

Nel cado di rga, gli adattatori sono speciali componenti software che aiutano ad estrarre il contenuto cercato da vari tipi di file. La sezione Available adaptors su GitHub propone gli adattatori già disponibili ma mette anche in evidenza che gli utenti possono utilizzare componenti personalizzati per estendere ulteriore le abilità del programma.

Tra gli adattatori già a disposizione ci sono i seguenti:

  • Pandoc: documenti testuali come .docx o .epub
  • Poppler: per la gestione dei file in formato  PDF
  • FFmpeg: per estrarre metadati e sottotitoli dai contenuti video.
  • SQLite: per convertire database in formato testuale.

Credit immagine in apertura: iStock.com – anyaberkut

Ti consigliamo anche

Link copiato negli appunti