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
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
Usando tr
:
$ tr -s "()',;" " " < data
select * from Users
insert into Users values UR01 Kim Director
Usando o awk:
awk '{gsub(/[;(),'\'']/," "); gsub(/ */," "); print}' your_file