Minha situação é que eu tenho que pesquisar todo o meu cluster para arquivos com extensão .xyz e o sed / grep / awk /? off apenas registros que contêm dois valores distintos, "CONFNAME" e "INPUTSQL", respectivamente.
problemas:
1. Estruturando o pipeline adequado que retornará essas informações.
2. Cortando as 50 linhas de sucata entre esses dois valores e formatando como csv com duas colunas.
arquivo de exemplo:
1_TOD_DO_ON.x
1 !prototype|P|||${AIDQ_MP}/dA_lookIP.mp
2 CONFNAME|$|||ITEST_New_Deal
...
...
50 INPUTSQL||||Select \n 'ITOD|L1235'
Os dois dados necessários desses arquivos .zyz são ITEST_New_Deal e ITOD | L1235 (separados por vírgula).
Alguns dos que eu tentei para o problema 1
cd To_Correct_Search_Path
find . -type f -iname "*.xyz" -exec egrep -i CONFNAME --color=auto --with-filename {} \;
// encontra apenas um valor
find . -type f \( -iname "*.xyz" -o -name "CONFNAME" -o -name "INPUTSQL" \) -exec sh -c 'echo "$0"' {} \; >
// somente encontra o último valor se "INPUT_SQL"
C.
find . -type f -iname "*.pset" -exec egrep -i CONFNAME egrep -i INPUTSQL --color=auto --with-filename {} \;
// encontra apenas o último valor
para o problema 2
Para remover o lixo entre os valores to, quero desativar esses dois valores distintos , mas incluir esses valores nas informações retornadas pela pesquisa . Eu tenho algumas idéias aqui, mas preciso que o problema 1 seja corrigido primeiro. Definitivamente aberto a sugestões!