加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 使用sed忽略注释(#),但保持行不变

发布时间:2020-12-13 22:55:38 所属栏目:百科 来源:网络整理
导读:我有一个配置文件,我想基本上编辑未注释的行,但不是注释的行.我正在使用sed. 例如,我有一个名为file.txt的文件: test# test# testtest 我想用“TEST”替换“test”,但不要触摸已注释的行.最终输出应显示: TEST# test# testTEST sed '/^#/!s/test/TEST/g' /
我有一个配置文件,我想基本上编辑未注释的行,但不是注释的行.我正在使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读