如何用shell去除文本中的特殊字符
有一批文本中包含各种特殊字符,现在想通过shell快速将特殊字符去掉,应该如何操作?特殊字符包括:".-+_—\/,。(){}”“·()@|丨'?!】【《》;:<>]...
有一批文本中包含各种特殊字符,现在想通过shell快速将特殊字符去掉,应该如何操作?
特殊字符包括:" .-+_—\/,。(){}”“·()@|丨'?!】【《》;: <>]["
其中有很多涉及到转义什么的,很是头疼 展开
特殊字符包括:" .-+_—\/,。(){}”“·()@|丨'?!】【《》;: <>]["
其中有很多涉及到转义什么的,很是头疼 展开
1个回答
2016-08-09
展开全部
你的这个问题很好,之前也困扰过我
1)、首先在vi命令模式下:set list可以将不可看见的特殊字符打印出来
2)、这些不可见的特殊字符是可以输入的方式如下
比如^I是Tab(\t),^M是WIN的换行(\n\r)
请注意^I 不是^ I, ^M也不是^ M
^I 是Ctrl + V Ctrl + I
^M 是Ctrl + V Ctrl + M
3)、然后用sed -i 's/^M//g' a.txt进行删除(这个里边的^M是用2)中的方式输入的,在终端里边是不显示的,如果你要测试的话可以先用sed 's/^M//g' a.txt 看看效果)
1)、首先在vi命令模式下:set list可以将不可看见的特殊字符打印出来
2)、这些不可见的特殊字符是可以输入的方式如下
比如^I是Tab(\t),^M是WIN的换行(\n\r)
请注意^I 不是^ I, ^M也不是^ M
^I 是Ctrl + V Ctrl + I
^M 是Ctrl + V Ctrl + M
3)、然后用sed -i 's/^M//g' a.txt进行删除(这个里边的^M是用2)中的方式输入的,在终端里边是不显示的,如果你要测试的话可以先用sed 's/^M//g' a.txt 看看效果)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询