Remove a specific character using awk or sed

Use sed's substitution: sed 's/"//g'

s/X/Y/ replaces X with Y.

g means all occurrences should be replaced, not just the first one.


Using just awk you could do (I also shortened some of your piping):

strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print $2 } }'

I can't verify it for you because I don't know your exact input, but the following works:

echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print $2 }'

See also this question on removing single quotes.


tr can be more concise for removing characters than sed or awk, especially when you want to remove multiple different characters from a string.

Removing double quotes:

echo '"Hi"' | tr -d \"
# Prints Hi without quotes

Removing different kinds of brackets:

echo '[{Hi}]' | tr -d {}[]
# Prints Hi without brackets

-d stands for "delete".