💾 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

View Raw

More Information

-=-=-=-=-=-=-

Scripting in sed(1)

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 $