A civil engineer with a longlife fondness for Software Libero
The different extended pattern matching operators are listed below, where pattern-list is a list containing one or more filenames, separated using the | character:
*(pattern-list) – matches zero or more occurrences of the specified patterns
?(pattern-list) – matches zero or one occurrence of the specified patterns
+(pattern-list) – matches one or more occurrences of the specified patterns
@(pattern-list) – matches one of the specified patterns
!(pattern-list) – matches anything except one of the given patterns
To use them, enable the extglob shell option as follows:
# shopt -s extglob
1. To delete all files in a directory except filename, type the command below:
$ rm -v !("filename")
Delete All Files Except One File in Linux
2. To delete all files with the exception of filename1 and filename2: