On 04/04/2017 03:35 PM, Rick Stevens wrote:
> On 04/04/2017 02:35 PM, Patrick Dupre wrote:
>> Hello,
>>
>> Sorry for the lack for clarity.
>> I want to list all the file end in .bib, except the file ending by -e.bib
>> This can be done by (from the shell command)
>> ls -d !(*@(-e)).bib
>> or by
>> find . !(*@(-e)).bib
>>
>> but, as soon as I put one of these commands in a script file, it does not 
>> work
>>
>> Is it clear?
> 
> Yes, but find uses totally different tests. Try:
> 
>       find . -name "*.bib" -not -name "*-e.bib"
> 
> In other words 'find from the current directory all files named "*.bib"
> and NOT named "*-e.bib"'
> 
> Make sense?

I might also mention that, if you only want to check the current
directory and not EVERTHING below it, use:

        find . -maxdepth 1 -name "*.bib" -not -name "*-e.bib"

to restrict the search to the current directory. Or use Joe's
suggestion (which may be cleaner for you):

        ls -d *.bib | grep -v -e.bib

>>> Sent: Tuesday, April 04, 2017 at 10:57 PM
>>> From: JD <[email protected]>
>>> To: [email protected]
>>> Subject: Re: LS in a script file
>>>
>>>
>>>
>>> On 04/04/2017 02:34 PM, Patrick Dupre wrote:
>>>> find . !(*@(-e)).bib
>>>> and
>>>> ls -d !(*@(-e)).bib
>>>>
>>>>
>>>>
>>>> work fine in a command line, but never
>>>> in a script
>>>> command substitution: line 9: syntax error near unexpected token `('
>>>>
>>>> ls -d !\(*@\(-e\)\).bib
>>>>
>>>> does not work
>>>>
>>>> ===========================================================================
>>>>   Patrick DUPRÉ                                 | | email: [email protected]
>>>>   Laboratoire de Physico-Chimie de l'Atmosphère | |
>>>>   Université du Littoral-Côte d'Opale           | |
>>>>   Tel.  (33)-(0)3 28 23 76 12                   | | Fax: 03 28 65 82 44
>>>>   189A, avenue Maurice Schumann                 | | 59140 Dunkerque, France
>>>> ===========================================================================
>>>>
>>>>
>>>>> Sent: Tuesday, April 04, 2017 at 8:25 PM
>>>>> From: JD <[email protected]>
>>>>> To: [email protected]
>>>>> Subject: Re: LS in a script file
>>>>>
>>>>>
>>>>>
>>>>> On 04/04/2017 12:13 PM, Terry Polzin wrote:
>>>>>>
>>>>>> 2017-04-04 14:05 GMT-04:00 Patrick Dupre <[email protected]
>>>>>> <mailto:[email protected]>>:
>>>>>>
>>>>>>      Hello,
>>>>>>
>>>>>>      How can I put this command in a script file?
>>>>>>      FILES=`ls -d !(*@(-e)).bib`
>>>>>>
>>>>>>      I get an error because of the (
>>>>>>      Have you tried to "escape" them
>>>>>>
>>>>>>
>>>>>> FILES=`ls -d !\(*@\(-e\)\).bib`
>>>>> For me, it works under bash like this:
>>>>>
>>>>> ls `[ ! \(*@\(-e\)\).bib ]`
>>>>> _______________________________________________
>>>>> users mailing list -- [email protected]
>>>>> To unsubscribe send an email to [email protected]
>>>>>
>>>> _______________________________________________
>>>> users mailing list -- [email protected]
>>>> To unsubscribe send an email to [email protected]
>>> Patrick, it would help the list members GREATLY, if you explain
>>> in plain english, WHAT are you trying to achieve with that ls -d 
>>> .....etc  command?
>>> _______________________________________________
>>> users mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
>>>
>> _______________________________________________
>> users mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>>
> 
> 


-- 
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    [email protected] -
- AIM/Skype: therps2        ICQ: 226437340           Yahoo: origrps2 -
-                                                                    -
-     Squawk!  Pieces of Seven!  Pieces of Seven!  Parity Error!     -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to