You can use find to do this:
$ find . -name '*.txt' -a ! -name '*Thomas.txt'
More Related Contents:
- Stop shell wildcard character expansion?
- In bash, how do I expand a wildcard while it’s inside double quotes?
- How to skip the for loop when there are no matching files?
- What do double-asterisk (**) wildcards mean?
- List files not matching a pattern?
- What expands to all files in current directory recursively?
- What does the double-asterisk (**) wildcard mean?
- Using SED with wildcard
- Loop over array, preventing wildcard expansion (*)
- Returning a boolean from a Bash function
- How do I find the number of arguments passed to a Bash script?
- Ignoring specific errors in a shell script
- Capture multiline output as array in bash [duplicate]
- Parallel wget in Bash [duplicate]
- Is there a way to avoid positional arguments in bash?
- ^word^replacement^ on all matches in Bash?
- escaping newlines in sed replacement string
- How to strip out all of the links of an HTML file in Bash or grep or batch and store them in a text file
- for loop for multiple extension and do something with each file
- How to replace paired square brackets with other syntax with sed?
- “Command not found” when attempting integer equality in bash
- using bash (sed/awk) to extract rows AND columns in CSV files?
- echo “-e” doesn’t print anything
- Bash script: specify bc output number format
- How to wait on all child (and grandchild etc) process spawned by a script
- Do I need to quote command substitutions?
- Utility to extract dates from filenames in Bash?
- Get Environment Variable from Docker Container
- What does the –ntasks or -n tasks does in SLURM?
- How can I format the output of a bash command in neat columns