Eu tenho um arquivo que tem, digamos, 5 colunas (obtidas redirecionando os resultados de uma consulta de seleção do Sybase). Cada coluna é separada por uma tabulação. Eu preciso filtrar as colunas que têm todos os NULLs. Qualquer coluna entre as cinco pode ser nula.
Por exemplo, se as colunas no arquivo forem parecidas com as abaixo:
1000 NULL NULL 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
7 NULL 1000 2 NULL
A saída deve estar (após a remoção das colunas 2 e 5), preferencialmente no mesmo arquivo:
1000 NULL 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
7 1000 2
Eu alcancei:
for i in {1..5}
do
echo $i
dlr="$"$i
str="{print $dlr}"
echo $str
awk '$str' <input_file> | while read value
do
echo $value
if [ "$value" == "NULL" ]
then
echo "inside"
cut $i
fi
done
done
valor agora, mostra todas as linhas!!! Além disso, não tenho certeza de como cortar a coluna. Eu sou um iniciante em script de shell e incapaz de prosseguir.
Você pode por favor aconselhar como fazer isso?