Or...
for f in *.bib
do
case "$f" in
*-e.bib) ;;
*) ls -ld -- "$f" ;;
esac
done
On 04Apr2017 15:40, Rick Stevens <ricks@xxxxxxxxxxxxxx> wrote:
On 04/04/2017 03:35 PM, Rick Stevens wrote:
On 04/04/2017 02:35 PM, Patrick Dupre wrote:
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 <jd1008@xxxxxxxxx>
To: users@xxxxxxxxxxxxxxxxxxxxxxx
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: pdupre@xxxxxxx
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 <jd1008@xxxxxxxxx>
To: users@xxxxxxxxxxxxxxxxxxxxxxx
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 <pdupre@xxxxxxx
<mailto:pdupre@xxxxxxx>>:
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 -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
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 -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
--
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital ricks@xxxxxxxxxxxxxx -
- AIM/Skype: therps2 ICQ: 226437340 Yahoo: origrps2 -
- -
- Squawk! Pieces of Seven! Pieces of Seven! Parity Error! -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx