Nel processo di migrazione a Hugo dovevo modificare in tantissimi file di testo alcune righe, un po’ come già successo qui. Oggi dovevo cancellare dal Front matter alcune righe. Un lavoro noiosissimo da fare a mano.
Cancellare una riga soltanto
Dovevo cancellare la riga contenente questa stringa:
url: /vecchio/indirizzo/da/cancellare
Mi è bastato questo comando di sed
:
sed -i '/url:/d' *.md
Cancellare una riga e la successiva
In questo caso la situazione è un po’ più complessa. Le righe da cancellare erano queste due:
dsq_thread_id:
- 123456789
Come si vede, bisognava cancellare ben due righe. Anche in questo caso sed
mi è stato di prezioso aiuto. Questo programma, tra le sue funzioni, ha proprio quella di cancellare una riga corrispondente a quello che si cerca più la successiva.
Ecco quindi il glorioso comando:
sed -i '/dsq_thread_id/{N;d;}' *.md
Anche in questo caso non credo ci sia bisogno di spiegazioni.