我有text file unicode line separator(十六进制代码2028)。
我想使用bash删除它(我看到implementations for Python,但不是这种语言)。我可以使用什么命令转换文本文件(output4.txt)以丢失unicode行分隔符?
见下面的vim:
答案 0 :(得分:4)
这个tr命令也可能有效:
tr '\xE2\x80\xA8' ' ' < inFile > outFIle
工作解决方案:感谢OP找到这个:
sed -i.old $'s/\xE2\x80\xA8/ /g' inFile
答案 1 :(得分:3)
我注意到在你的截图中,你已经在vim中打开了文件,为什么不在vim中进行替换呢?
在vim中你可以做到
:%s/(seebelow)//g
(seebelow)
部分,您可以输入:
CTRL-V û 2 0 2 8 < / KBD>
答案 2 :(得分:1)
您可以使用sed:
sed 's/\x20\x28//g' <file_in.txt >file_out.txt
要覆盖原始文件:
sed -i 's/\x20\x28//g' file.txt
编辑 :(请参阅chepner的评论)您应确保拥有正确的字节,具体取决于编码,然后使用sed删除它们。你可以用例如od -t x1
用于查看十六进制转储并确定编码。
答案 3 :(得分:0)
这对我有用
sed $'s/\u2028//g' file_in.txt > file_out.txt
注意:其他问题使用术语<U+2028>