我在服务器上使用Curl从https://api.data.gov/ed/collegescorecard/v1/schools?api_key=[my_API_key]下载了一个JSON文件。
(如果你想尝试一下,我已经将该文件上传到TinyUpload中。)
下载的文件有1.5MB大小和一个非常大(且有效)的JSON对象。然而,在服务器上运行wc -l
命令时,它返回的是0。而运行wc -c
命令会返回正确的字节计数。
我用TextEdit打开这个文件,看起来很正常。我确实注意到,在我的服务器(CentOS 5.5)上的man wc
和我的Mac(Yosemite)上的man wc
似乎对-l
标志有不同的描述:
CentOS 5.5:
打印换行符计数
OSX 10.10.5 Yosemite
将每个输入文件中的行数写入标准输出。
哪一个说明书是正确的?wc -l
是计算行还是计算换行符?如果它计算的是行而不是换行符,是否存在即使文件中有行也会返回0的情况?
同时,马克在这个相关的SO帖子中提到,基于Windows的字符可能是正确的诊断方式吗?我用cat -vet
命令执行了我的文件,但在grep中找不到^M
,而手动搜索太多文本了。