Remover caracteres especiais de uma coluna em um arquivo delimitador de pipe - Generic

1

Eu preciso criar um script genérico para remover caracteres especiais [|!@#$%^&*\] de uma coluna específica em um arquivo delimitado por pipe.

Por exemplo, eu tenho arquivos delimitados por pipe ( | ) e tenho uma coluna 'Review Comments' comum a todos os arquivos. Preciso remover todo o caractere especial dado acima da coluna Comentários de revisão.

Eu posso excluir caracteres especiais de um arquivo usando o comando sed , mas não consigo criar um script genérico.

    
por Chani 14.09.2016 / 09:09

1 resposta

0

Este script awk procura um campo contendo apenas "Comentários de revisão" na primeira linha e, em seguida, remove todos os caracteres especiais desse campo em todas as linhas restantes.

BEGIN {
    FS="|"
    OFS="|"
}
FNR==1 { 
    for ( N=1 ; N<=NF ; N++ ) { 
        if ( $N ~ /^Review Comments$/ )
            revcol=N
    }
}
FNR>1 {
    gsub("[!@#$%^&*\\]","",$revcol) 
}
{ print }
    
por 14.09.2016 / 12:11