【问题标题】:Removing special characters(<200c> <200d> from a text file从文本文件中删除特殊字符(<200c> <200d>
【发布时间】:2012-03-04 15:40:33
【问题描述】:

我有一个文本文件,里面有一些特殊的看不见的字符。有什么方法可以删除这些特殊字符。我尝试在 vim 编辑器中使用 sed,但它不起作用,而且 gedit 和 kwrite 不显示这些字符

ാരാരയാതരയകകിടെയാതരകകാരനയാതരകകാരെയാതരയിലയാതരകളയാതരയകകിടയിലയാതരാകകലിഎതരഎഫഎസഎനഎയരഎനനഎനനഎനതഎനറരഎനറരഎതതിയഎകസഎനനാഎതരയാണഎനനീഎനറെഎചചഎചചഎചചഎനനദിനംമിസസമിസസമനനമോരസമൌണടമൌണടടികകററടികകററടികകററടികകററടികകററടികകററദളവതിരമിസസമിസസടികകററിലടികകററിലടികകററിലടികകററിനടികകററിനടികകററടികകററടികകററ ടെസററബകകബകകബാങകബകകിംഗചെയയാംചെയയണംചെയയംചെയയാതെചെയയാനചെയയാമോചെയതതചെയതചെയതചെയയനനചെയയേണട

是我要删除的特殊字符。我可以在 vim 编辑器中看到这些字符

 :set list

我在 vim 中运行了以下 sed 命令

:%s/\<200c\>//c

:%s/<200c>//c

但不能删除特殊字符。我需要以不同的方式触发 sed 命令吗??

【问题讨论】:

    标签: bash shell sed special-characters sh


    【解决方案1】:

    我认为您唯一缺少的是如何在vim 的搜索模式中输入特殊字符。那将是:^Vu200c^Vu200d

    更多信息请关注here

    【讨论】:

    • 如果使用 sed 的文件,是否可以从一堆中删除字符。当我尝试使用相同的序列在 shell 中输入字符时,它不起作用。
    【解决方案2】:

    在 vim 中删除特殊的 unicode 字符 &lt;200c&gt;&lt;200d&gt;

    :%s/\%u200c//g
    :%s/\%u200d//g
    

    你也可以使用sed:

    $ sed -i "s/$(echo -ne '\u200c')//g" file.txt
    $ sed -i "s/$(echo -ne '\u200d')//g" file.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多