2011-10-05 73 views
5

我想从Linux中的文件中为类删除一堆^ K,但是我一直在尝试的所有内容都不起作用。从linux中的文件中删除特殊字符

所以我的猫一个文件memo.txt,它具有双重行距

我少的文件,它具有-1K-每一行

我试图删除^ K和它输出到后一个新的文件

我已经试过

cat memo.txt | tr -d "\n" > memo.new 
cat memo.txt | tr -d "^K" > memo.new 

和其他一些SED功能。

+3

每个角色都有自己的特色。 –

回答

5

你可能想尝试这样的事:

tr -d '\013' <memo.txt> memo.new 

013八进制值字符为^K

+0

谢谢你的答案,而不只是一些手册页。我知道这是为了学校,但我尝试过。 – BillPull

+0

您也可以按Ctrl + v,然后按Ctrl + K来获取该值。按Ctrl + v使下一个输入给它的文字值,而不是其正常的效果 – Daenyth

+0

@Jonathan Callen,你是如何找到^ K的八进制值的? –

1

看一看:

man strings 

正是你想要的那恕我直言......

+2

您觉得有必要潜在破坏内容,以便完全删除单个角色? –

0

我认为ABCD的答案将起作用。但是,如果它不能正常工作,请尝试以下操作:

tr -d "`echo -e '\013'`" <memo.txt> memo.new 

嵌入式echo命令将输出的实际^ K字符,所以TR就会知道究竟什么删除。