如何使用sed,在评论中删除中文字符?

时间:2017-07-03 02:27:58

标签: regex sed utf-8

我需要删除评论,我测试的sed命令:

xargs -i sed -i -e '/^\s*#[^!]/D' -e '/^\s*#$/D' 

这个命令使用keep#!XXX并删除#XXX,但是当我检查exe后的sed结果时,我发现中文字符无法匹配,编码类型:ansi(使用BeyondCompare检查)

如果我用vim(SUSE11.3)打开文件,它看起来像是不可读的代码,下面用beyondcompare和vim打开,最后是测试结果,请帮助

#修改json
modules_names_arr = ModulesConfigUtils.read_modules_name
modules_names_arr.each do |module_name|
    module_config_hash = ModulesConfigUtils.read_module_config(module_name)
    if module_config_hash.nil?
        next
        end
#修改每个模块的参数

#DT??json
modules_names_arr = ModulesConfigUtils.read_modules_name
modules_names_arr.each do |module_name|
    module_config_hash = ModulesConfigUtils.read_module_config(module_name)
    if module_config_hash.nil?
        next
        end 
#DT???????£?éμ?2

sed -e '/^\s*#[^!]/D' -e '/^\s*#$/D' bak_ciphertext.rb | grep "^\s*#"                   
    #О?īson
        #О?????????±???八·??# 

0 个答案:

没有答案