The macOS operating system includes the
dot_clean command, which can be used to remove the dot files from a FAT32 or ExFAT formatted drive partition. I consider the work needed to periodically run this command is about the same as emptying the trash.
For example, if my external drive is named
MYEXTUSB, then I could use the command shown below to remove the dot files.
dot_clean man page from macOS 10.13.3 (High Sierra) is given below.
DOT_CLEAN(1) BSD General Commands Manual DOT_CLEAN(1)
dot_clean -- Merge ._* files with corresponding native files.
dot_clean [-fmnsv] [--keep=[mostrecent|dotbar|native]] [dir ...]
For each dir, dot_clean recursively merges all ._* files with their cor-
responding native files according to the rules specified with the given
arguments. By default, if there is an attribute on the native file that
is also present in the ._ file, the most recent attribute will be used.
If no operands are given, a usage message is output. If more than one
directory is given, directories are merged in the order in which they are
-f Flat merge. Do not recursively merge all directories in the
given dir. This is off by default.
-h Help. Prints verbose usage message.
-m Always delete dot underbar files.
-n Delete dot underbar file if there is no matching native file.
-s Follow symbolic links. This will follow symbolic dot underbar
files when they are found.
-v Print verbose output.
The default option. If an attribute is associated with a data
fork, use that. Otherwise, use information stored in the Apple-
Double file. Note that the native fork's data is preferred even
if the data in the AppleDouble file is newer.
Always use information stored in the AppleDouble file, replacing
any extended attributes associated with the native file.
Always use the information associated with the data fork, ignor-
ing any AppleDouble files.
The following is how to do an dot_clean merge on the mounted volume test,
always using the dot underbar information.
dot_clean --keep=dotbar /Volumes/test
The dot_clean utility exits 0 on success, and >0 if an error occurs.
BSD Sept 27, 2012 BSD