如何用sed替换`^ M`字符(控制字符或文字)?

时间:2019-12-29 10:26:24

标签: bash sed character-encoding

说我从Windows终端(WSL)中运行的脚本获得了该字符串输出:

foo^Mbar^Mtest

预期输出为:

foo
bar
test

似乎应该被当作回车符的字符串^MCR = Ctrl + M )在这里是一个文字,但是不确定,因为如果我将其输出到文件中并从Windows编辑器中读取 ,则会得到预期的输出。为什么不在Linux中?

我尝试使用以下内容 sed 脚本输出:

script.py | sed -e 's/^M/<new-line-or-whatever>/g'

但是^M从未匹配。

我怎么知道这些是否是文字,以及如何用sed替换^M这些字符(文字vs控制字符)?

我正在Windows上运行旧版(默认)WSL (即Ubuntu),我的sed版本是 GNU sed 4.2.2

0 个答案:

没有答案