如何实用sed删除文本中的控制字符?
如何实用sed删除文本中的控制字符?比如 ^M ^A等? 查了一圈,终于找到了,在vi中^H的输入方法是Ctrl+v Ctrl+H. [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, 在命令行上也可以这样输入 :) 另外, 俺经常用这种方式输入不可见字符:
[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] col 是不是也成啊 至少我们用这个 col有时候会导致结果混乱,我也不太明白,特别将Windows下文本转到LInux下,无论是使用col还是dos2unix,都无法解决在sed中使用$行尾结束符号问题,sed就是无法找到行尾结束符. 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] 用 tr
tr -d '\r'
页:
[1]