正则表达式 – 使用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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |