-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, Sep 27, 2018 at 09:59:58AM -0400, Greg Wooledge wrote: > On Thu, Sep 27, 2018 at 08:53:28AM -0500, David Wright wrote: > > On Thu 27 Sep 2018 at 07:55:56 (-0500), Kent West wrote: > > > westk@westkbox:/opt$ ls -la | wc > > > 7 56 321 > > > westk@westkbox:/opt$ ls -1a | wc > > > 6 6 54 > > > > But do use 1A, not 1a, if you want to know how many items are > > in a folder, otherwise . and .. will be included in the count. > > All of the above give the wrong answers when filenames contain newlines. > Any solution that involves printing the filenames to a stream and then > trying to parse that stream to guess how many filenames are in the stream > is a non-starter -- unless of course the stream uses NUL delimiters > instead of newlines. > > Sadly, the GNU coreutils maintainers have rejected every request, even > requests with patches attached, to add a --null option to ls. So, > ls is not suited to this task.
To be fair, there's -b (escape nonprinting) and -q for that. Both defuse the "newline-in-file-name" case. Cheers - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlut0GsACgkQBcgs9XrR2kbAGQCfasOAvCRWZEJS3+FBGyZi34o6 LbsAni35sZP/w1YSn/4ic0muQQNoz8gj =Zrm4 -----END PGP SIGNATURE-----