tags 23190 notabug close 23190 thanks Hello Seva,
On 04/01/2016 06:02 PM, Seva Adari wrote:
I am not sure if this a bug or expected behavior! Here is different output from each run variation of wc invocation: wc -l test.txt Output: 20 awk '{print $0}' /tmp/test.txt | wc -l Output: 21 cut /tmp/test.txt -f1 | wc -l Output: 21
[...]
File, test.txt (attached here with) could be missing last "new line".
This is not a bug in 'wc', but the way it works (perhaps not intuitively): 'wc' does not count conceptual lines but the number of newline characters in the file. Since the last file does not have a newline character (ASCII 0x10) - it is not counted. The following will demonstrate: $ printf "hello" | wc -l 0 $ printf "hello\n" | wc -l 1 $ printf "a\nb\nc" | wc -l 2 And 'awk' indeed automatically adds a newline when using 'print', like so: $ printf "a\nb\nc" | awk '{print $0}' | wc -l 3 I'm therefore closing the bug, but discussion can continue by replying to this thread. regards, - assaf