Enviado em 21/03/2020 - 18:28h
OK, mas perceba que no exemplo que tu mandou, a primeira pessoa da lista não tem o campo NOME COMPLETO, e eu estou contando que pelo menos esse campo, todas as entradas deve ter...#!/bin/bash
arq="$HOME/test"
out="$HOME/lista_acessocidadao.txt"
tmpdir="$(mktemp -d)"
#quebrar em arquivos menores
csplit --prefix="$tmpdir/xx" <(sed 's/^.*Nome/--\n&/' "$arq") '/^--/' '{*}' 1>/dev/null
printf '%s\n' "$tmpdir"/* |
while read file; do
Data="$(grep opt_field1 "$file" | awk '{print $1" "$2;}')"
Horario="$(grep opt_field1 "$file" | awk '{print $3;}')"
Celular="$(grep opt_field1 "$file" | awk '{print $8;}')"
CPF="$(grep opt_field2 "$file" | awk '{print $7;}' | cut -d '=' -f2)"
Email="$(grep opt_field3 "$file" | awk '{print $7;}' | cut -d '=' -f2)"
Nome="$(grep Completo "$file" | awk '{print $8" "$9" "$10;}' | cut -d '=' -f2)"
cat <<-! >> "$out"
=====================================================
Nome: $Nome
E-mail: $Email
CPF: $CPF
Celular: $Celular
Conectou em: $Data - $Horario
!
done
rm -r "$tmpdir"