**_sed_** approach:
Sample file contents:
.!?,'/\"()[]^* @-$%
.!?,'/\"()[]^* @ sdfsd %
as,,d//asd a?sd %% --@_ _asdasdad$
sdfsdf %''%!% 2 + 2 = (?)
* * *
sed '/[[:punct:]]*/{ s/[^[:alnum:][:space:]@_$%-]//g}' file
* * *
The output:
@-$%
@ sdfsd %
asdasd asd %% --@_ _asdasdad$
sdfsdf %%% 2 2