#!/usr/bin/env bash # # actpub2csv.sh - Converte o arquivo de exportação do Mastodon em um arquivo # em formato quase-CSV (separado por TABs) para fácil importação em planilhas, # arquivamento, reprocessamento, etc. # # Copyright (c) 2023, Augusto Campos (http://augustocampos.net/). # Licensed under the Apache License, Version 2.0. # # ATENÇÃO: veja o artigo publicado em: # https://trilux.org/2023/07/convertendo-e-importando-os-arquivos-de-exportacao-de-posts-do-mastodon.html # -- Augusto gron outbox.json | awk ' BEGIN { S="\t" print "Tipo"S"Data"S"URL"S"CC"S"Texto puro"S"Texto formatado em HTML" } { gsub(/^[^.]*\.[^.]*\./,"") id=$1 $1=$2="" txt=substr($0,3) gsub(/;$/,"",txt) gsub(/\t/," ",txt) } id~/^(object.content|object|object.id|type|published)$/ { if ((id=="object") && (txt~/{}/)) next P[id]=txt } (id~/^cc\[/) && (txt!~/\/followers"$/) { gsub(/"/,"",txt) CC=CC","txt } id=="type" { CC="\""substr(CC,2)"\"" payload=P["object.content"] if (P["type"]~/Announce/) payload=P["object"] cpayload=payload gsub(/<[^>]*>/,"",cpayload) print P["type"] S P["published"] S P["object.id"] S CC S cpayload S payload CC="" delete P } '