我试图使用bash中的一些东西向我显示打印而不是解释的文件中的行结束符。该文件是从SSIS/SQL Server中转储的,由Linux机器读入以进行处理。
在vi中有任何开关,少,多,等等? 除了看到行结束符,我还需要知道它是什么类型的行结束符(CRLF或LF)。我怎么知道呢?
我试图使用bash中的一些东西向我显示打印而不是解释的文件中的行结束符。该文件是从SSIS/SQL Server中转储的,由Linux机器读入以进行处理。
在vi中有任何开关,少,多,等等? 除了看到行结束符,我还需要知道它是什么类型的行结束符(CRLF或LF)。我怎么知道呢?
当前回答
Ubuntu 14.04:
简单的cat -e <filename>就可以了。
这将Unix的行结束符(\n或LF)显示为$,Windows的行结束符(\r\n或CRLF)显示为^M$。
其他回答
我将输出转储到一个文本文件中。然后我在notepad++中打开它,然后单击显示所有字符按钮。不是很优雅,但是很好用。
要在less中将CR显示为^M,请使用less -u或在less打开时键入-u。
Man less说:
-u或——下划线-特殊 导致退格和回车被视为打印 能力特征;也就是说,它们被发送到终端时 它们出现在输入中。
您可以使用xxd显示文件的十六进制转储,并查找“0d0a”或“0a”字符。
你可以使用cat -v <filename>,就像@warriorpostman建议的那样。
可以使用命令todos filename转换为DOS结尾,使用命令fromdos filename转换为UNIX行结尾。要在Ubuntu上安装软件包,输入sudo apt-get install tofrodos。
Ubuntu 14.04:
简单的cat -e <filename>就可以了。
这将Unix的行结束符(\n或LF)显示为$,Windows的行结束符(\r\n或CRLF)显示为^M$。