replacing the `'` char using awk

SIMEL picture SIMEL · Jun 29, 2011 · Viewed 65k times · Source

I have lines with a single : and a' in them that I want to get rid of. I want to use awk for this. I've tried using:

 awk '{gsub ( "[:\\']","" ) ; print $0 }'

and

 awk '{gsub ( "[:\']","" ) ; print $0 }'

and

 awk '{gsub ( "[:']","" ) ; print $0 }'

non of them worked, but return the error Unmatched ".. when I put

 awk '{gsub ( "[:_]","" ) ; print $0 }'

then It works and removes all : and _ chars. How can I get rid of the ' char?

Answer

Fredrik Pihl picture Fredrik Pihl · Jun 29, 2011

tr is made for this purpose

echo test\'\'\'\':::string | tr -d \':
teststring

$ echo test\'\'\'\':::string | awk '{gsub(/[:\47]*/,"");print $0}'
teststring