从文本文件中删除^ M.

时间:2014-02-25 19:56:37

标签: awk delimiter

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

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

但他们都没有奏效。有人可以使用一些Linux命令帮助解决这个问题。

3 个答案:

答案 0 :(得分:4)

您可以使用sed

 sed 's/^M// filename > newfilename

如果您想使用awk,请执行:

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

要输入^M,请输入CTRL-V,然后输入CTRL-M。也就是说,按住CTRL key,然后连续按VM

<强>更新

正如@glenn jackman在评论中所建议的那样,\r很容易使用^M

答案 1 :(得分:0)

col < input > output

或者:

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

答案 2 :(得分:0)

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

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