login shell

The goal here is to separate the users having a login shell from the others:

1
2
3
4
5
6
7
cat -n inputfile | sed -En -e '
\=(/usr/sbin/nologin|/bin/false)$= { H;d; }
# Append matching lines to the hold buffer
# and continue to next cycle
p # Print other lines
$ { g;p } # On the last line,
# get and print the content of the hold buffer

What is a login shell ?