A text file contains several blank lines. Which command numbers only the non-empty lines by default?
LPIC-1 Exam 101-500, objective 103. GNU and Unix commands medium
Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.
It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.
The options
Not correct od -c file
Wrong. od dumps the file's bytes; -c shows them as characters with escapes. It is for inspecting binary or invisible content, not for numbering lines.
Not correct cat -n file
Wrong. cat -n numbers every line including the empty ones. It is `cat -b` that numbers only non-blank lines, which matches nl's default.
Not correct wc -l file
Wrong. wc -l does not print the file at all; it prints how many lines the file has.
Correct nl file
Correct. nl's default body numbering style is 't': lines with content are numbered, empty lines are printed without a number.
Why
nl is a line-numbering filter with configurable numbering styles (-b a numbers all lines, -b t only non-empty ones, which is the default). cat -n is the quick equivalent that numbers everything, and cat -b skips blanks. Knowing which of the two numbers blank lines is exactly the sort of distinction this objective tests.
Where this comes from
- Cited
- LPI exam objective 103.2
- What it says
- Number the lines of a text stream with nl or cat.
Practise this
Reading one question is not practice. The trainer will draw a set from objective 103 and space the ones you get wrong.