Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux中删除文件中的特殊字符_Linux - Fatal编程技术网

在linux中删除文件中的特殊字符

在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

在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 '\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
八进制。