Hmm, thats a bunch of right-clicks, got a strong pot of coffee? I suggest a two step process, first list all the tags on your system then delete the ones you don’t want with the ‘tag’ utility. You’ll be working from the command line and an editor and need to grab the ‘tag’ utility from here: https://github.com/jdberry/tag
You can list all (most) tags with this:
/usr/bin/mdfind -0 "(kMDItemUserTags == '*')" |xargs -0 mdls -name kMDItemUserTags | grep " .*" | tr -d ",\" " | sort | uniq > mytags
That creates a text file ‘mytags’ which you can edit with any plain text editor (I use bbedit). If you just want to print a list to the terminal, remove the “> mytags” from the command line above. I take it you don’t want all your tags removed so you will need to use the editor to remove all lines with tags you like to keep.
Sadly, ‘tag’ does not accept input redirection (you can’t do tag < mytags), so you must convert the ‘mytag’ file into a script file by a) pasting "tag -rR " in front of each tag in your text file and “.” right after. E.g., if you had a tag called ABC, your line would need to look like this:
tag -rR ABC .
The lower case ‘r’ is for ‘remove’, the uppercase ‘R’ is for recursive. So this will remove the ABC tag for files in your current folder and subfolders.
With all those changes made, you now need to make the ‘mytags’ file executable with:
chmod +x mytags
Then execute with:
Note that I am not very familair with the ‘tag’ utility. I have used it a few times before but not for deleting tags. So if you feel comfortable going this route, perhaps try it out with a single tag first, manually, and build up your confidence with this.
Good luck and welcome to the wonderful world of (bash) script programming …