bash - 不是空文件,但 "wc -l"输出 0

标签 bash file

我有一个非空文件(即使是一个很大的文件,400Ko),我可以用 less 读取它。

但是如果我尝试使用 wc -l/path/to/file 输出行数,它会输出 0

这怎么可能?

最佳答案

您可以自己验证该文件不包含换行符/换行符 (ASCII 10),这将导致 wc -l 报告 0 行。

  1. 首先,计算文件中的字符数:

    wc -c /path/to/file
    

    你应该得到一个非零值。

  2. 现在,过滤掉所有不是换行符的内容:

    tr -dc '\n' /path/to/file | wc -c
    

    你应该返回 0。

  3. 或者,删除换行符并计算结果。

    tr -d '\n' | wc -c
    

    您应该返回与步骤 1 中相同的值。

关于bash - 不是空文件,但 "wc -l"输出 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513495/

相关文章:

java - 将 java 数组存储到文件中以供读写

objective-c - Objective C 在 UIWebView 中加载 PDF 文件

bash - 如何在 for 循环中循环选择一小组选项?

bash - 术语 : "option", "argument"和 "parameter"之间的区别?

linux - Bash Shell 语法错误完成 < $vid'

linux - 从网页运行 bash 文件

file - Spark 分区/集群执行

java - 如何在java程序中加载bashrc并执行命令

Python 打开文件,找不到文件

windows - 由于源文件名是动态的,如何在 xcopy 中使用变量?