我有一个配置文件,我想基本上编辑未注释的行,但不是注释的行.我正在使用sed.
例如,我有一个名为file.txt的文件:
- test
- # test
- # test
- test
我想用“TEST”替换“test”,但不要触摸已注释的行.最终输出应显示:
- TEST
- # test
- # test
- TEST
- sed '/^#/!s/test/TEST/g' /path/to/infile
产量
- $sed '/^#/!s/test/TEST/g' infile
- TEST
- # test
- # test
- TEST
*注意:如果您对评论的唯一要求是第一个非空格字符是#,那么您可以使用:
- sed '/^[[:space:]]*#/!s/test/TEST/g' /path/to/infile
产量
- $sed '/^[[:space:]]*#/!s/test/TEST/g' infile
- TEST
- # test
- # test
- TEST