在linux中删除文件中的特殊字符
在linux for类中,我试图从一个文件中删除一堆^K,但我一直在尝试的一切都不起作用 所以我输入了一个文件memo.txt,它有两倍行距的行 我减少文件,每行后面都有^K 我正在尝试删除^K并将其输出到新文件中 我试过了在linux中删除文件中的特殊字符,linux,Linux,在linux for类中,我试图从一个文件中删除一堆^K,但我一直在尝试的一切都不起作用 所以我输入了一个文件memo.txt,它有两倍行距的行 我减少文件,每行后面都有^K 我正在尝试删除^K并将其输出到新文件中 我试过了 cat memo.txt | tr -d "\n" > memo.new cat memo.txt | tr -d "^K" > memo.new 以及其他一些sed函数。请查看: man strings 这正是你想要的…你可能想试试这样的东西: tr -d
cat memo.txt | tr -d "\n" > memo.new
cat memo.txt | tr -d "^K" > memo.new
以及其他一些sed函数。请查看:
man strings
这正是你想要的…你可能想试试这样的东西:
tr -d '\013' < memo.txt > memo.new
tr-d'\013'memo.new
013
是字符的八进制值^K
我认为ABCD的答案会有效。但如果不起作用,请尝试以下方法:
tr -d "`echo -e '\013'`" < memo.txt > memo.new
tr-d“`echo-e'\013'`”memo.new
嵌入的echo命令将输出实际的^K个字符,因此tr将确切知道要删除的内容。每个字符都有其独特的方式。您觉得有必要为了完全删除单个字符而破坏内容吗?谢谢您的回答,而不仅仅是一些手册页。我知道这是为学校准备的,但我试过了。你也可以通过按Ctrl+v然后按Ctrl+K来获得值。Ctrl+v使下一个输入给出它的文本值,而不是正常值effect@JonathanCallen,你是如何找到^K的八进制值的?
^A
到^Z
是编号为1-26的字符K
是第11个字母,因此一个简单的基频转换可以得到013
八进制。