[ale] BASHing my head

DJ-Pfulio DJPfulio at jdpfu.com
Wed Aug 26 18:23:06 EDT 2015


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:


More information about the Ale mailing list