I\'d like to create a script to comment out lines of my Mac OS X hosts file that contain .com. And also one to reverse it.
So this:
127.0.0.
sed '/\.com/s/^/#/' < hosts
Interpretation:
/\.com/ - only perform the rest of the command on lines matching this regexs/^/#/ - insert # at the beginning of the lineIf you want to replace the original file, use sed's -i option:
sed -i.bak '/\.com/s/^/#/' hosts
This will rename hosts to hosts.bak and create a new hosts with the updated contents.
To undo it, use:
sed -i.bak '/^#.*\.com/s/^#//' hosts
With awk
awk '$2 ~ /.com/{$0 = "#"$0;}{print}' temp.txt
Output
#127.0.0.1 foo.com
#127.0.0.1 bar.com
127.0.0.1 baz
127.0.0.1 qux