我正在解析一个临时文件,其行想要删除,因此我运行:tr '\n' ' ' < temp > temp2
。现在当我 wc -l temp2
它返回 0 行而不是 1 行,这对我来说是出乎意料的。
查看手册后,wc -l
仅计算换行符而不计算行数。它的行为很好,但如果您不知道文件的最后一行是否包含换行符,则可能会出现问题。
有没有任何工具或解决方法可以计算行数,即使它们没有换行?
最佳答案
UNIX 文本文件 must always have a trailing newline 。如果没有它,许多工具将无法处理最后一行,正如您所看到的那样。我不会寻找可以处理它的工具,而是修复文件中的错误。
{ tr '\n' ' ' < temp && echo; } > temp2
关于bash - 真正的 bash 行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50611235/