检测文件 EOL 的更好方法

检测文件 EOL 的更好方法

有没有快速的方法来检测文件的 EOL?

我通常只是打开文件Vim并检查状态行。我当然有一个更好更快的方法。

我认为 grep 可能有效,但我不确定这是否是检测 EOL 的最优雅方法。我特别专注于检测 Mac EOL (CR)、Windows (CRLF) 和 Unix (LF)。

我更喜欢 *nix/Bash 解决方案,但我对其他平台也感兴趣。

(之前我回答过服务器故障问题这可能是一个 EOL 问题,这让我想知道是否有一种快速的方法。

答案1

file(至少对于 Linux 上常见的 magic 数据库而言)是一种简单的方法。不过,它不会警告您有关混合结尾的文件。

$ file unix mac dos  # the files have line endings matching their names
unix: ASCII text
mac:  ASCII text, with CR line terminators
dos:  ASCII text, with CRLF line terminators

相关内容