awk - 从文本文件中删除 ^M

标签 awk delimiter

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

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

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

最佳答案

您可以使用 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

关于awk - 从文本文件中删除 ^M,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024793/

相关文章:

awk bash 重复模式

bash - 将制表符分隔符添加到 Grep

python - CSV 编写器双引号

mysql - 分隔符$$和//有什么区别

java - 如何使用 "+"、 "-"、 "*"和 "/"等基本分隔符拆分字符串,同时不使用句点作为分隔符?

mysql - 使用 awk 替换两个字符串或模式之间的文本

ruby - 读取 ruby​​ 中的所有 shell 变量

bash - 在命令替换中转义 AWK 中的反斜杠

c# - 具有多个分隔符的条件分割字符串

asp.net - ascx 中的内联动态字符串