How do I count text lines?
Try sed
:
sed '/^$/d' file.txt | wc -l
If you have any lines containing only spaces or tabs and if you want to ignore them as well from count:
sed '/^[[:blank:]]*$/d' file.txt | wc -l
The above answer are correct but slightly different, you can use the grep
to for easier code such grep -vc '^$' file.txt
For example(A):file.txt
$grep -vc '^$' file.txt
1 First line #This is two tabs to comment.
2
4
3 Fourth line #Another two tabs to comment.
$2
For example(B):file.txt
$sed '/^$/d' file.txt | wc -l
1 First line #This is two tabs to comment.
2
4
3 Fourth line #Another two tabs to comment.
$4
Notice the result is 4! when we want to expect only two. but this counts the tabs in between the content and comment as well.
Notice the counts from 0 and counts from 1 its different from the grep to the sed as I remember for more details search for grep or sed.
Using grep
:
grep -vc '^$' file # or
grep -vc '^\s*$' file