2011-10-05 93 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就會知道究竟什麼刪除。