Estou começando a estudar Shell Script por hobbie. Meu primeiro script de estudo tem sido um cadastro de protocolos de atendimento dessas centrais de telemarketing, mas pro consumidor. É algo que facilitaria minha vida pra guardar protocolos de atendimento.
Estou trabalkhando ele já com o YAD. To batendo cabeça mas tá sendo bacana pra estudar.
MINHA DÚVIDA
Quando o usuario escolhe procurar uma entrada cadastrada, ele digita um termo de busca e o script usa o grep pra acessar o arquivo de saida e buscar todas as entradas com o termo. No arquivo de saida uso o separador '|' pra delimitar os campos. Fica mais ou menos assim...
CENTRAL|DATA|ATENDENTE|PROTOCOLO|DESCRIÇÃO|
NET|01/11/2016|Armando|001|Atencioso o bastante para não me irritar|
NET|27/10/2016|Filipe|002|Meio nervoso. Fiquei puto.|
TIM|31/10/2016|Danilo|003|O cara não sabe atender.|
A primeira linha é o título dos campos.
Então, a linha que faz a busca e joga pro YAD exibir o resultado é a seguinte:
grep -i "$SEARCH" prot_reg.csv | tr -s '|' '\n' | yad --text-info --title="Resultado da Pesquisa" --text="Abaixo seguem os resultados encontrados" --width=500 --height=650 --button=gtk-ok:0
Mas o resultado aparece só com o que foi digitado pelo usuário, e eu queria que a exibição contivesse os títulos dos campos antes de cada exibição, com uma linha vazia entre eles.
Então pensei na seguinte saída:
for VAR in $(seq 5)
do
head -1 prot_reg.csv | cut -d'|' -f"$VAR" >> saida.txt
grep "$PESQ" -i prot_reg.csv | cut -d'|' -f"$VAR" >> saida.txt
echo >> saida.txt
done
OBS: aqui o arquivo saida.txt é só pra teste. Queria jogar a saída pra uma caixa de TEXT_INFO do YAD.
Este loop só não funciona quando o grep acha de mais de uma entrada, porque ele joga o nome do campo só uma vez e em seguida joga as entradas separadinhas. Tipo assim:
CENTRAL
NET
NET
DATA
01/11/2016
27/10/2016
ATENDENTE
Armando
Filipe
PROTOCOLO
001
002
DESCRIÇÃO
Atencioso o bastante para não me irritar
Meio nervoso. Fiquei puto.
Alguém tem alguma ideia de como fazer pra ele fazer isso individualmente?