【发布时间】:2015-01-18 16:32:13
【问题描述】:
我目前在 OS X 上使用tag 来检索我保存在转储文件夹中的文件的 bash 中的标记值。
检索这些标签的目的是将文件移动到单独的文件夹中。
但是,我不确定如何解析标记的输出以便将文件移动到不同的目录。
这是我到目前为止所得到的。
#Allow correct parsing of spaces in a file name
SAVEIFS=$IFS;
IFS=$(echo -en "\n\b");
dumpFolder="/Users/me/Documents/Dropbox/Dump/";
tag -l ${dumpFolder}*;
##Unset SAVEIFS
IFS=$SAVEIFS;
tag -l ${dumpFolder}*; 会给我如下输出:
/Users/me/Documents/Dropbox/Dump/EUROSTAR-1.pdf Personal,Travel
/Users/me/Documents/Dropbox/Dump/EUROSTAR-2.pdf Travel,Work
/Users/me/Documents/Dropbox/Dump/Eurostar Tickets - September 2014.pdf Personal,Travel
/Users/me/Documents/Dropbox/Dump/Eurostar-2015.01.14.pdf Travel,Work
返回的标签是Travel、Work 和Personal。文件将始终使用Work 或Personal 进行标记,但不能同时使用两者。任何文件都可以有Travel。
为了获取标签,我尝试使用 for 循环,但是当我尝试打印标签时,这会在一行中返回所有文件及其标签。
无论如何,我不知道如何按标签移动。
有什么想法吗?
【问题讨论】: