【问题标题】:Remove ^M from text file从文本文件中删除 ^M
【发布时间】:2021-12-23 09:54:26
【问题描述】:

我有一个文本文件,当在 mac 终端中使用 less 命令打开时显示 ^M 字符。 我尝试使用以下命令删除 ^M 字符。

awk '{ gsub("\n", "\r"); print $0;}' input > output
cat input | tr ‘\n’ ‘\r’ > output

但他们都没有工作。有人可以帮助使用一些 Linux 命令解决此问题。

【问题讨论】:

标签: awk delimiter


【解决方案1】:

你可以使用sed

 sed 's/^M// filename > newfilename

如果您想使用awk,请执行以下操作:

awk '{sub(/^M/,"")}1' filename > newfilename

要输入^M,请输入CTRL-V,然后输入CTRL-M。即按住CTRL key,然后依次按VM

更新

按照cmets中@glenn jackman的建议,使用\r很容易得到^M

【讨论】:

  • 使用“\r”而不是“ctrl-v ctrl-m”
【解决方案2】:
col < input > output

或者:

vim "+set ff=unix" "+saveas output" "+q" input

【讨论】:

    【解决方案3】:

    使用来自http://www.asciitable.com/的八进制值

    回显 "1'2^M34" | awk 'gsub(/\015/,":")' 1'2:34

    【讨论】:

      猜你喜欢
      • 2016-07-29
      • 1970-01-01
      • 2012-11-15
      • 2010-10-13
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多