I'm wondering how I can do a multiple find/replace using a single sed
statment in Mac OSX
. I'm able to do this in Ubuntu
but because of the BSD
nature of OSX
, the command must be slightly altered.
So, given a file with the string:
"Red Blue Red Blue Black Blue Red Blue Red"
I want to run a sed statement that results in the output:
"Green Yellow Green Yellow Black Yellow Green Yellow Green"
My two sed statements with a qualifying find
color1="Green"
color2="Yellow"
find . -type f -exec sed -i '' s/Red/$color1/g {} ;
find . -type f -exec sed -i '' s/Blue/$color2/g {} ;
I've tried several combinations of semicolons and slashes, and looked at Apple's Dev man page for sed but with a lack of examples, I couldn't piece it together.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…