[ale] BASHing my head

Ted W. ted-lists at xy0.org
Thu Aug 27 15:34:06 EDT 2015


I've always heard that you should use find in place of ls when the
output must be parsed. In this case, find handles it all by itself.

  elw at xbook:~/test$ touch a.out A.out b.out B.out c.out C.out
  elw at xbook:~/test$ find . -name "[A-Z]*.out"
  ./A.out
  ./B.out
  ./C.out
  elw at xbook:~/test$ find . -name "[a-z]*.out"
  ./a.out
  ./b.out
  ./c.out

On Wed, Aug 26, 2015 at 06:23:06PM -0400, DJ-Pfulio wrote:
> I seem to recall being told to NEVER parse the output from ls - ever.
> Maybe I misunderstood?
> 
> On 08/26/2015 05:38 PM, Jim Kinney wrote:
> > Yeah. What he said.
> > From my F22 bash-land (4.3.39):
> > touch a.pdf A.pdf b.pdf B.pdf c.pdf C.pdf z.pdf Z.pdf
> > [jkinney at dhcp061167 tmp]$ ls
> > a.pdf  A.pdf  b.pdf  B.pdf  c.pdf  C.pdf  z.pdf  Z.pdf
> > [jkinney at dhcp061167 tmp]$ ls | grep "[A-Z].pdf"
> > A.pdf
> > B.pdf
> > C.pdf
> > Z.pdf
> > [jkinney at dhcp061167 tmp]$ ls | grep "[a-z].pdf"
> > a.pdf
> > b.pdf
> > c.pdf
> > z.pdf
> > On Wed, 2015-08-26 at 15:41 -0400, Ed Cashin wrote:
> >> I've been biting my tongue here.  I don't think these characteristics
> >> of bash are congruent with UNIX philosophy.  The people who made UNIX
> >> complain about bash being bloated.  These characteristics of bash are
> >> congruent with POSIX philosophy.
> >>
> >> A UNIX-ish way of doing this would be ...
> >>
> >>   ls | grep '^[A-Z].*\.pdf'
> >>
> >>
> >> On Wed, Aug 26, 2015 at 1:41 PM, Jim Kinney <jim.kinney at gmail.com>
> >> wrote:
> >>> Wow! Shopt has enough options to make it stand next to emacs.
> >>> I don't understand why the default is essentially case insensitive
> >>> when everything else in bash is case sensitive. It looks like the
> >>> LANG makes it work that way but that makes no sense either to me. A
> >>> != a in standard US English.
> >>> More of the secret mysteries of Unix philosophy I've never wrapped
> >>> my head around.
> >>> On Aug 26, 2015 12:16 PM, "Scott Plante" <splante at insightsys.com>
> >>> wrote:
> >>>> I didn't know the globasciiranges option.
> >>>>
> >>>> Another solution is the LC_COLLATE variable:
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo

-- 
Ted Wood <ted-lists at xy0.org>
Registered GNU/Linux user #413569


More information about the Ale mailing list