检测文件 EOL 的更好方法

Bel*_*dez 5 command-line

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

我通常只是在Vim 中打开文件并查看状态行。我相信有更好更快的方法。

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

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

(早些时候,我回答了一个可能是 EOL 问题的服务器故障问题,这让我想知道是否有一种快速的方法。)

Gil*_*il' 10

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

$ 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
Run Code Online (Sandbox Code Playgroud)