Prepend certain lines of file

后端 未结 2 1690
长情又很酷
长情又很酷 2021-01-29 03:15

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.         


        
2条回答
  •  梦毁少年i
    2021-01-29 03:39

    sed '/\.com/s/^/#/' < hosts
    

    Interpretation:

    • /\.com/ - only perform the rest of the command on lines matching this regex
    • s/^/#/ - insert # at the beginning of the line

    If 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
    

提交回复
热议问题