← Tutti i video

Covid19 vaccine counter — Bash scripting

Guarda su YouTube → 19:02 18 aprile 2021
Linux

Descrizione

In questo video mostro un piccolo bash script che ho sviluppato per calcolare la percentuale di persone nel lazio a cui è stata data la prima dose di vaccino contro COVID-19. NOTA: Nel video dico che lo script calcola il numero di persone nel lazio che hanno ricevuto la prima dose di vaccino. In realtà lo script non calcola questa quantità, in quanto utilizzo semplicemente il totale delle somministrazioni, e quindi conto due volte tutte le persone che hanno ricevuto due dosi di vaccino. Questo significa che la percentuale ritornata è tendenzialmente molto più alta di quella desiderata (che è la percentuale di persone che hanno ricevuto la prima dose di vaccino). Avendo notato questa problematica, ho corretto lo script (quello disponibile nel link), e adesso lo script calcola due valori, sempre relativi al Lazio: la percentuale di persone che hanno ricevuto la prima dose, e anche quelle che hanno ricevuto la seconda dose. ----------------------------------------------------------------------------------------- TIMESTAMPS 00:00 idea script 02:40 analisi script 16:30 integrazione con i3blocks ----------------------------------------------------------------------------------------- RIFERIMENTI - https://github.com/LeonardoE95/yt-it/tree/main/src/2021-04-18-programmazione-bash-vaccini-covid-19 ----------------------------------------------------------------------------------------- CONTATTI - Technical blog: https://blog.leonardotamiano.xyz/ - Github: https://github.com/LeonardoE95?tab=repositories - Support my work: https://www.paypal.com/donate/?hosted_button_id=T49GUPRXALYTQ

Commenti 8

I commenti vengono da YouTube e sono aggiornati periodicamente.

  1. @esadecimale Autore 27 aprile 2021
    NOTA: Nel video dico che lo script calcola il numero di persone nel lazio che hanno ricevuto la prima dose di vaccino. In realtà lo script non calcola questa quantità, in quanto utilizzo semplicemente il totale delle somministrazioni, e quindi conto due volte tutte le persone che hanno ricevuto due dosi di vaccino. Questo significa che la percentuale ritornata è tendenzialmente molto più alta di quella desiderata (che è la percentuale di persone che hanno ricevuto la prima dose di vaccino). Avendo notato questa problematica, ho corretto lo script (quello disponibile nel link), e adesso lo script calcola due valori, sempre relativi al Lazio: la percentuale di persone che hanno ricevuto la prima dose, e anche quelle che hanno ricevuto la seconda dose. Attualmente (27-04-2021) abbiamo 21% che hanno ricevuto la prima dose e 9% che hanno ricevuto anche la seconda dose (sempre relativi al Lazio).
  2. @antoniopetrillo1984 19 aprile 2021 1
    Con awk puoi ottenere lo stesso risultato in modo più pulito, ora non ricordo la sintassi precisamente ma con: awk '$REGION/{print $2}' dovrebbe funzionare. In pratica stampa il secondo campo delle righe che matchano la regex prima del '/' (Edit) occorre cambiare il carattere separatore da spazio a ',' basta aggiungere un flag (che non ricordo 😅) Già che ci sono sia per grep che per awk non c'è bisogno di utilizzare il cat, si può passare il file direttamente in input. Comunque come al solito molto interessante 👍
    3 risposte
    1. @esadecimale Autore 19 aprile 2021
      Grazie per il feedback, molto apprezzato! Più tardi lo proverò a far funzionare con awk, che in generale awk è una bestia che conosco veramente poco. Anche la cosa del cat poi, condivido appieno: meno binari si utlizzano (senza però complicare enormemente il tutto) e meglio è
    2. @antoniopetrillo1984 19 aprile 2021 1
      @esadecimale awk spaventa tutti, alla fine è un intero linguaggio di programmazione del quale alla fine si utilizzano giusto 2 o 3 funzionalità 😂. Scusami un attimo l'offtopic ma come hai fatto ad ottimizzare/configurare vterm? Sul mio PC è estremamente lento, se lancio una REPL, tipo python o ghci per un semplice print ci vogliano circa 5 secondi 😅
    3. @esadecimale Autore 20 aprile 2021
      @antoniopetrillo1984 Guarda non ti saprei dire, purtroppo queste cose sono talmente complesse che ci potrebbero essere mille ragioni dietro a questa lentezza. Ti consiglio di eliminare tutte le cose associate a vterm (pulisci pure la dir in ~/.emacs.d/elpa/vterm...), magari scaricati di nuovo la libreria libvterm utilizzata da vterm, e vedi se ancora ti lagga.
  3. @thelionpower4969 15 agosto 2021 1
    Ciao Leonardo, sono rimasto molto affascinato da questo i3blocks. Una domanda soltanto: come sei riuscito ad applicare definitivamente la barra? Quale è lo step successivo a linkare gli scripts specificandone il percorso e personalizzare il file di configurazione? Ho chiesto ovunque, reddit e SO, spero tu mi risponda, perchè è una vera figata
    2 risposte
    1. @esadecimale Autore 15 agosto 2021
      Hey, sono felice ti è piaciuta! Per quanto riguarda i tuoi dubbi, cercherò di rispondere: 1. Come prima cosa, per attivare i3blocks devi, ovviamente, avere già installato e configurato i3. In particolare c'è una sezione del file di configurazione di i3 in cui devi specificare "status_command i3blocks". 2. Una volta fatto il passo precedente viene il passo di configurare i3blocks vero e proprio (non più i3 quindi, ma i3blocks). Il file di configurazione di i3blocks può essere messo nella home directory, ma deve essere chiamato esattamente ".i3blocks.conf" 3. Per quanto riguarda come configurarlo, l'idea è che nel file di configurazione si specifica una particolare variable detta "command" che punta ad una directory nel file system. La directory puntata deve contenere i vari scripts che possono poi essere chiamati da i3blocks per calcolare varie cose, come ad esempio utilizzo CPU e via dicendo. 4. La configurazione di i3blocks è infatti separata in vari blocchi. Il nome di ciascun blocco deve corrispondere al nome dello script presente nella directory specificata prima. Ci sono poi alcuni blocchi di default che puoi utilizzare fin da subito. 5. Altrimenti puoi specificare il comando da eseguire in ogni blocco senza avere uno script relativo salvato nel file system, ma semplicemente utilizzando la variabile "command=..." all'interno del blocco. Questa è una overview generale, poi se mi scrivi per email (la trovi in descrizione) ti invio in allegato il file di configurazione di i3blocks e il blocco da mettere nel file di configurazione di i3 per attivare i3blocks.
    2. @thelionpower4969 15 agosto 2021 1
      @esadecimale sei stato crystal clear, provo subito! Secondo me dovresti portare un tutorial su questi temi da r/Linuxporn, sulla personalizzazione e quant'altro, sono davvero molto interessanti. Mi raccomando poi, va avanti, vedo i tuoi video con moltissimo interesse, è veramente un bel canale