gpt4 book ai didi

linux - 如何在 Linux 终端中删除 CRLF 字符(回车换行符)?

转载 作者:行者123 更新时间:2023-12-02 15:50:01 25 4
gpt4 key购买 nike

我从 Oracle 数据库接收到一个简单的输出,由于某种原因,输出变成了一个新行,我无法删除该返回字符。

这是我已经尝试过的:

sed 's/^M//g'
sed 's/\r//g'
sed 's/\n//g'
sed 's/\r\n//g'
sed 's/\r$//'
tr -d '\r' < infile > outfile
sed -i.bak 's/\r$//g' <filename>
sed 's/\r$//g'

然后我尝试了 dos2unix 但仍然没有...


通过将输出转换为十六进制,我可以看到神秘字符实际上是一个 CRLF,但之前的“CRLF 删除”解决方案似乎都不起作用。

  • 正常输出

The normal output

  • 十六进制输出

The output converted in hexa

预先感谢您的帮助! :)

最佳答案

要删除 CRLF 字节,在 Perl 中要容易得多:

perl -pe 's/\x0d\x0a//g'

或者你可以运行 sedtr:

sed 's/\r$//' file | tr -d '\n'

C2 A7在UTF-8中对应U+00A7或unicode中的SECTION SIGN

将两个字节都指定给 sed 以将其删除:

sed 's/\xc2\xa7//g'

关于linux - 如何在 Linux 终端中删除 CRLF 字符(回车换行符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72798210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com