[ale] BASHing my head

Ed Cashin ecashin at noserose.net
Thu Aug 27 17:44:06 EDT 2015


I like "find".  I actually use the NUL-terminator feature that makes it
work well with filenames that contain strange characters (like the newlines
Scott mentions).

$ find . -type f | xargs wc

wc: ./absurd: open: No such file or directory

wc: name: open: No such file or directory

       0       0       0 total

$ find . -type f -print0 | xargs -0 wc

       0       0       0 ./absurd

name

$

On Thu, Aug 27, 2015 at 3:34 PM, Ted W. <ted-lists at xy0.org> wrote:

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



-- 
  Ed Cashin <ecashin at noserose.net>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20150827/72202836/attachment.html>


More information about the Ale mailing list