💾 Archived View for it.omarpolo.com › articoli › scripting-in-sed.gmi captured on 2023-01-29 at 02:17:00. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Ho appena finito di scrivere il mio primo script sed(1) e ho pensato di documentare la cosa!
Uso spesso sed(1) (“stream editor”), ma in genere è solo un piccolo step di una pipeline più grande, un s/qualcos/altro/g qui e lì, raramente scrivo cose più complesse.
Oggi ho avuto la necessità di voler vedere i vari tipi di spaziatura usata in un file: quali sono spazi, tab, e ritorni a capo. Nulla di nuovo sotto il sole, è il ‘set list’ di vi o whitespace-mode su Emacs, ma spesso uso mg(1) (micro emacs) che non fornisce tali sciccherie.
I BSD hanno vis(1) di tradizione per visualizzare file (da non confonderlo con l’editor vis che è tutt’altra storia) ma, per quanto utile, con l’opzione -t rimpiazza i tab con ^I rendendo decisamente poco leggibile il file.
Ho iniziato quindi a scrivere un ‘sed -e ...’ quando ho pensato che potevo salvarlo in ~/bin per usarlo più tardi. Facendo così ho anche scoperto l’opzione -f di sed(1), simile a quella di awk(1), per leggere lo script da file.
Lo script?
#!/usr/bin/sed -f s/ /» /g s/ /·/g s/$/$/g
che può essere comodamente usato:
$ v Makefile | less
Nulla di che, però:
$BlogIt: scripting-in-sed.gmi,v 1.2 2022/10/04 14:11:28 op Exp $