Awk 从文本文件中删除^M

Awk 从文本文件中删除^M,awk,delimiter,Awk,Delimiter,我有一个文本文件,在mac终端中使用less命令打开时显示^M字符。 我尝试使用下面的命令删除^M字符 awk '{ gsub("\n", "\r"); print $0;}' input > output cat input | tr ‘\n’ ‘\r’ > output 但没有一个成功。是否有人可以使用一些Linux命令来帮助修复此问题。您可以使用sed: col < input > output sed 's/^M// filename > newfil

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

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

但没有一个成功。是否有人可以使用一些Linux命令来帮助修复此问题。

您可以使用
sed

col < input > output
 sed 's/^M// filename > newfilename
如果您希望使用
awk
,请执行以下操作:

awk '{sub(/^M/,"")}1' filename > newfilename
要输入
^M
,请键入
CTRL-V
,然后键入
CTRL-M
。也就是说,按住
CTRL键
,然后依次按
V
M

更新

正如在注释中所建议的,使用
\r
很容易,然后使用

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


无法在macuse中安装“\r”而不是“ctrl-v ctrl-m”
awk '{sub(/^M/,"")}1' filename > newfilename