如何实用sed删除文本中的控制字符?

如何实用sed删除文本中的控制字符?

如何实用sed删除文本中的控制字符?
比如 ^M ^A等?      
查了一圈,终于找到了,在vi中^H的输入方法是Ctrl+v Ctrl+H.      
引用:
原帖由 TUDOU01 于 2008-4-6 17:16 发表
查了一圈,终于找到了,在vi中^H的输入方法是Ctrl+v Ctrl+H.
不仅是 vi, 在命令行上也可以这样输入       
另外, 俺经常用这种方式输入不可见字符:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=6654 $?=0] ; echo $'hello\nworld'
hello
world
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=6654 $?=0] ; bye
      
col 是不是也成啊  至少我们用这个      
col有时候会导致结果混乱,我也不太明白,特别将Windows下文本转到LInux下,无论是使用col还是dos2unix,都无法解决在sed中使用$行尾结束符号问题,sed就是无法找到行尾结束符.      
sed怎么会不成功呢
复制内容到剪贴板
代码:
[root@andLinux /mnt/d]# file abc.txt
abc.txt: ASCII text, with CRLF line terminators
[root@andLinux /mnt/d]# cat -nv abc.txt
     1  11111111111^M
     2  22222222222^M
     3  33333333333^M
[root@andLinux /mnt/d]# sed 's/\r//' abc.txt | cat -nv
     1  11111111111
     2  22222222222
     3  33333333333
[root@andLinux /mnt/d]#
      
用 tr
tr -d '\r'      
journalist