如何用shell去除文本中的特殊字符

有一批文本中包含各种特殊字符,现在想通过shell快速将特殊字符去掉,应该如何操作?特殊字符包括:".-+_—\/,。&#(){}”“·()@|丨'?!】【《》;:<>]... 有一批文本中包含各种特殊字符,现在想通过shell快速将特殊字符去掉,应该如何操作?
特殊字符包括:"  .-+_—\/,。&#(){}”“·()@|丨'?!】【《》;: <>]["
其中有很多涉及到转义什么的,很是头疼
展开
 我来答
匿名用户
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 看看效果)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式