如何去除UNIX系統下文件中的换行符^M

发布时间 2023-08-17 14:50:38作者: whisper_hm

       因操作系统的差异,在Windows系统编辑文件时的换行符是CRLF,而在Unix系统(包括AIX、LINUX)编辑文件时的换行符为LF,当把在Windows系统编辑的文件传送到Unix系统上后,查看文件会发现每行后面多了一个^M符号,这个有可能会导致在执行某些脚本时出现问题,那么该如何解决呢?

1、当需要操作的文件不多时,可以使用编辑器的转换功能:

  • 使用 UltraEdit 编辑器的转换功能:导航栏的“高级”选项 -> 选择 “转换” -> 选择点击 “DOS 到 UNIX ” (若有需要还可调整编码)-> 保存文件

2、当需要操作的文件特别多时,使用第一种方法就很费劲了,那么可以这样处理:

  • Linux: dos2unix filename
  • Aix :cat filename|perl -pe '~s/\r//g' > filename
    在有多个文件要处理时,将上述命令写到一个脚本中用循环进行批量处理即可。