[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: question about ls



-----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-----


Reply to: