Linux伊甸园论坛's Archiver

TUDOU01 发表于 2008-4-6 16:24

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

如何实用sed删除文本中的控制字符?
比如 ^M ^A等?

TUDOU01 发表于 2008-4-6 17:16

查了一圈,终于找到了,在vi中^H的输入方法是Ctrl+v Ctrl+H.

dearvoid 发表于 2008-4-6 22:15

[quote]原帖由 [i]TUDOU01[/i] 于 2008-4-6 17:16 发表 [url=http://www.linuxeden.com/forum/redirect.php?goto=findpost&pid=607039&ptid=162860][img]http://www.linuxeden.com/forum/images/common/back.gif[/img][/url]
查了一圈,终于找到了,在vi中^H的输入方法是Ctrl+v Ctrl+H. [/quote]
不仅是 vi, 在命令行上也可以这样输入 :)

dearvoid 发表于 2008-4-7 12:29

另外, 俺经常用这种方式输入不可见字符:
[quote][font=Courier][color=black][/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=6654 $?=0][/color] [color=red]; echo $'hello\nworld'
[/color][color=black]hello
world
[/color][color=blue]-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=6654 $?=0][/color] [color=red]; bye
[/color][color=black][/color][/font][/quote]

liu_yc 发表于 2008-4-10 10:15

col 是不是也成啊  至少我们用这个

TUDOU01 发表于 2008-4-10 19:16

col有时候会导致结果混乱,我也不太明白,特别将Windows下文本转到LInux下,无论是使用col还是dos2unix,都无法解决在sed中使用$行尾结束符号问题,sed就是无法找到行尾结束符.

li-jiahuan 发表于 2008-4-11 13:27

sed怎么会不成功呢
[code]
[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]#
[/code]

twf_cc 发表于 2008-4-12 07:12

用 tr
tr -d '\r'

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.