macOS操作系统包括 dot_clean
命令,它可以解决您问题中描述的问题。 macOS 10.13.3(High Sierra)的手册页如下。
DOT_CLEAN(1) BSD General Commands Manual DOT_CLEAN(1)
NAME
dot_clean -- Merge ._* files with corresponding native files.
SYNOPSIS
dot_clean [-fmnsv] [--keep=[mostrecent|dotbar|native]] [dir ...]
DESCRIPTION
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
specified.
OPTIONS
-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.
--keep=mostrecent
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.
--keep=dotbar
Always use information stored in the AppleDouble file, replacing
any extended attributes associated with the native file.
--keep=native
Always use the information associated with the data fork, ignor-
ing any AppleDouble files.
EXAMPLES
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
DIAGNOSTICS
The dot_clean utility exits 0 on success, and >0 if an error occurs.
BUGS
None known.
BSD Sept 27, 2012 BSD