Remover caracteres especiais em um arquivo de texto

1

Eu tenho um arquivo de texto que contém em cada linha uma consulta sql.

Para cada linha, preciso remover alguns caracteres especiais.

Expl: se eu tiver:

select * from Users;
insert into Users values ('UR01','Kim','Director');

o arquivo de resultados deve ser compatível:

select * from Users
insert into Users values UR01 Kim Director
    
por Aomine Daiki 08.04.2015 / 10:43

3 respostas

2

Você pode usar sed :

sed -e 's/[;,()'\'']/ /g;s/  */ /g' input.sql > output.txt

ou, se preferir especificar quais caracteres devem ser mantidos:

sed -e 's/[^a-zA-Z*0-9]/ /g;s/  */ /g' input.sql > output.txt
    
por 08.04.2015 / 10:53
2

Usando tr :

$ tr -s "()',;" " " < data
select * from Users 
insert into Users values UR01 Kim Director 
    
por 08.04.2015 / 11:13
0

Usando o awk:

awk '{gsub(/[;(),'\'']/," "); gsub(/  */," "); print}' your_file
    
por 08.04.2015 / 11:02