在$ HOME / bin / sh /中创建一个shell脚本samples.sh,其中包含以下内容:
#!/bin/bash
# Define folders
# Source folder (including files in subfolders)
MusicSamples=$HOME/Music/Samples
# Destination folder
DrumFoldr=$HOME/Desktop/Samples
# Remove orphaned soft links in the destination folder
find $DrumFoldr -type l -exec sh -c 'for x; do [ -e "$x" ] || rm "$x"; done' _ {} +
# Add soft links in destination folder depending on some criteria (here: BitRate and UserTag)
for File in $(mdfind -onlyin $MusicSamples 'kMDItemAudioBitRate >= "44000" && _kMDItemUserTags = "Sample"')
do
ln -s $File $DrumFoldr
done
# Remove soft links in the destination folder depending on some criteria (removing UserTag from original file)
for File in $(mdfind -onlyin $MusicSamples '_kMDItemUserTags != "Sample"')
do
filename=$(basename "$File")
rm $DrumFoldr/$filename
done
在shell脚本中定义包含示例文件的音乐文件夹(在我的示例中,这是Music文件夹中的Samples文件夹)和稍后包含软链接的“DrumFoldr”(在我的示例中是我桌面上的Samples文件夹)。
现在选择一些Spotlight搜索条件(在我的示例中,我选择了比特率和用户定义的标签“Sample” - 您可以通过右键单击文件>标签...来定义用户标签,并通过编写标签来添加标签。然后,用户定义的标签可用于其他文件和文件夹。
上述shell脚本将只添加的文件与44000或更高的采样率和(这是一个逻辑和!)与用户标签“样本”软链接DrumFoldr文件夹。因此,目标文件夹不包含指向没有Sample标签但采样率为96k的文件的链接,或者包含Sample标签但没有kMDItemAudioBitRate的文件(如txt文件或pdf)。它还在DrumFoldr文件夹中进行了一些清理。
BTW:可以使用密钥kMDItemDurationSeconds:来搜索/确定音乐长度kMDItemDurationSeconds <= "2"
。