Corso Linux: Regex, Patternmatching e Grep!
Vogliamo segnalare, la seconda “season” del nostro corso di linux!
Per chi ci segue dall’inizio, nelle altre “lezioni” del corso, abbiamo definito e terminato quelle che potremmo definire come le basi necessarie per poter comprendere a pieno questo nuovo capitolo ed i tools che introdurremo!
Regex un po di storia.
Difatti, introduciamo un grosso concetto, il pattern matching e le regole che ne definisco la realizzazione, chiamate regular expression (regex per gli amici):
“Sebbene fossero state formalizzate già fin dagli anni quaranta, le espressioni regolari entrarono nel mondo informatico per la prima volta alla fine degli anni sessanta, in ambiente Unix: il primo editor di testo che implementava delle funzioni che ne permettessero l’uso fu una versione di QED scritta da Ken Thompson, uno dei pionieri di Unix.
L’editor, dalla sua interfaccia a riga di comando, metteva a disposizione un comando chiamato global regular expression print, che successivamente fu reso un applicativo indipendente, grep. – WIKI”
Le regex, difatti sono utilizzati in svariati campi dell’informatica, ma in questo corso cercheremo di utilizzarle in un contesto di ricerca e ed elaborazione di stringhe di caratteri. Questo genere di lavoro, è largamente utilizzato e ne fanno uso diverse utility si sitema come grep( non più un semplice comando, ma un utility standard presente in linux), Awk, Sed e molti altri.
Tra cui diversi linguaggi di programmazione come ad esempio il Perl, non a caso esistono diverse risorse online che permettono di testarle o di impararle, come ad esempio regex101.com
Sfortunatamente (o fortunatamente), noi non vogliamo divagare granché sulle regex, in qualità di corso Linux ci interessa prevalentemente la parte amministrativa e quindi i tools che le usano.
Quindi abbiamo pensato di associarle a quello che potremmo chiamare il tool più formale per la loro comprensione e che potrebbe spianare la strada verso l’apprendimento degli altri.
Il Grep
Quest’ultimo permette di ricercare in uno o più file di testo le linee che corrispondono ad uno o più modelli (pattern) specificati con espressioni regolari o stringhe letterali. Producendo quindi un elenco delle linee per cui è stata trovata corrispondenza.
Qui di seguito trovere breve raccolta di slide, che mostrano e spiegano l’utilizzo formale di questo simpatico tool.
Perché queste lezioni?
Siamo convinti che per utilizzare al meglio il raspberry e i suoi strumenti non sia sufficente seguire delle guide, ma avere un’infarinatura su Linux affinché vengano chiariti dubbi latenti e lacune che normalmente le guide specifiche non colmano. Questo ci ha spinto a creare del materiale di riferimento per la community e per i nostri lettori, cercando di mantenere una linea molto semplice ed approfondita affinché anche i concetti più complicati risultino banali. Tutto il materiale presente nell’articolo è scaricabile sottoforma di lucidi, doc, e codice in maniera free.
Il topic di riferimento sul, prevede una lista ordinata, delle lezioni attualmente disponibili.