0

I have a task to list all files from /bin and /usr/bin that contain an e that is neither at the beginning nor at the end.
The wildcard is [!e]*e*[!e] and works. (Tested commands cd /bin & ls -l [!e]*e*[!e]

The problem is I have to print the contents of both directories using this wildcard in one command. How do I do that?

6
  • 1
    try ... ls /bin/?*e*? /usr/bin/?*e*?
    – JJoao
    Jan 7, 2019 at 16:52
  • Oh sure your version works I forgot that the wildcard specifies a relative path. Thank you!
    – Daniel H
    Jan 7, 2019 at 16:54
  • /bin/egrep contains a e that is neither at the beginning nor end, should it be matched? Your wildcard doesn't match it. Jan 7, 2019 at 17:35
  • I might be pendantic and ask if "an" e means exactly one e or allows for more than one?
    – Jeff Schaller
    Jan 7, 2019 at 17:48
  • @StéphaneChazelas No. The filename must not begin with an e
    – Daniel H
    Jan 7, 2019 at 18:11

1 Answer 1

0

You could boil it down to one command and one (typed) argument:

ls -d {/usr,}/bin/[^e]*e*[^e]

I added -d in case there to be subdirectories matching the pattern. That expands in phases to:

  1. /usr/bin/[^e]*e*[^e] and
  2. /bin/[^e]*e*[^e]

after expanding the braces.

The [^e] requires something other than an e, followed by * anything, followed by an e, followed by * anything, followed by another non-e (followed implicitly by nothing -- indicating the end of the filename).

5
  • Looks very interesting but it says: ls: cannot access '/usr/bin/[!e]*e*[!e]': No such file or directory & ls: cannot access '/bin/[!e]*e*[!e]': No such file or directory
    – Daniel H
    Jan 7, 2019 at 17:05
  • I see you have ! instead of ^ as I used; are you using bash?
    – Jeff Schaller
    Jan 7, 2019 at 17:11
  • ! is correct in globbing patterns. The pattern would remain unexpanded if it doesn't match anything.
    – Kusalananda
    Jan 7, 2019 at 17:25
  • @JeffSchaller I did try ^ instead of ! but it keeps print the same error. And yes, I use the bash.
    – Daniel H
    Jan 7, 2019 at 18:00
  • It would seem to me that you simply don't have any of those files, then. Does that seem right?
    – Jeff Schaller
    Jan 7, 2019 at 18:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .