I am trying to exclude a certain string from a file search.
Suppose I have a list of files: file_Michael.txt, file_Thomas.txt, file_Anne.txt.
I want to be able and write something like
ls *<and not Thomas>.txt
to give me file_Michael.txt and file_Anne.txt, but not file_Thomas.txt.
The reverse is easy:
ls *Thomas.txt
Doing it with a single character is also easy:
ls *[^s].txt
But how to do it with a string?
Sebastian
With Bash
where the first line means "set extended globbing", see the manual for more information.
Some other ways could be:
You can use find to do this:
If you are looping a wildcard, just skip the rest of the iteration if there is something you want to exclude.