Supondo que a saída na pergunta é a saída desejada, você pode tentar isso.
awk -F';' 'BEGIN{OFS=",";} NR>1{gsub(/ /,""); print $2,$3,"DATABASES"}' filename | sed -e :a -e '$!N;s/\n/,/;ta'
Provavelmente isso pode ser feito com awk apenas. Remova a parte sed se você quiser linhas na mesma linha.
Como o SE parece ter fins educativos, farei o possível para explicar o que cada sinalizador no comando acima faz.
-F';' # Usa ; como --field-separator BEGIN {OFS=",";} # Esse é um padrão especial que é executado antes de qualquer comando que se segue e sua saída não é influenciada pelo restante do programa. Então temos ORS
ORS # Como a saída deve incluir uma vírgula , , definimos a Output Record Separator para ter vírgula como um valor. O valor padrão de ORS é uma nova linha "\n"
NR>1 # Aqui dizemos para pular o primeiro registro. NR também é uma variável especial reservada que contém o número total de registros de entrada.
gsub() # É uma função que aceita alguns parâmetros. Se nenhum campo especificado, por exemplo, $2 ou $3 , em seguida, gsub() function usar o registro inteiro, que é $0
Finalmente, print $2,$3,"DATABASE" imprimirá os campos especificados e adicionará DATABASE no final da linha.
print $2,$3 # Aqui usamos vírgula para separar campos. O delimitador padrão FS (Field separator) é um único espaço em branco ' ' .
Espero que esta breve descrição clarifique um pouco as coisas.