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]