Retirando Aspas com Awk

Estava querendo fazer um Script que listasse todas as postagens dos meus Blogs gerados pelo Hugo que estão no formato .md. Porém, eu estava com um problema: Eu detectei que tinha os seguintes padrões de títulos:

title: "Nippybox: Um Arch+Openbox bem opinativo"
title: '2025.160 - Cinna de Blusa'
title: '2025.147 - "Olhe as Minhas Orelhas" - Cinna'

E eu precisava tratar isso, retirando o title: dessas linhas, e tratar as aspas. Não sabia como fazer isso, então pedi para o Grok me dar uma resposta, ele ele me deu esse código aqui:

awk '
  sub(/^title:[[:space:]]*/, "") &&
  sub(/^['\''"]?/, "") &&
  sub(/['\''"]?[[:space:]]*$/, "")
  '

E como isso funciona? Segundo a explicação do Grok:

  • sub(/^title:[[:space:]]*/, ""): Remover o title e os espaços
  • sub(/^['\''"]?/, ""): Remove as Aspas de abertura, se houver
  • sub(/['\''"]?[[:space:]]*$/, ""): Remove as aspas de fechamentos e os espaços finais.

E o resultado é esse aqui:

Nippybox: Um Arch+Openbox bem opinativo
2025.160 - Cinna de Blusa
2025.147 - "Olhe as Minhas Orelhas" - Cinna

Depois vi que precisava uniformizar outra coisa: As datas, que estavam nesses formatos:

'2025-11-06'
2025-11-01T18:00:01

Novamente perguntei ao Grok, e ele me deu um comando para isso, que foi o:

awk '{gsub(/^'\''|'\''$/, ""); sub(/T.*/, ""); if ($0) print}' 

E isso funcionou muito bem para uniformizar as datas. Esse comendo basicamente retira as aspas, depois retira tudo o que houve depois do T, se houver, e por fim, verifica se é uma data válida.

O Awk é realmente muito útil e isso é algo a se estudar para melhorar os meus Scripts.