您可能想要创建一个 mongo 脚本打印 id,然后有一个 bash 脚本循环遍历它并为每个 id 创建一个链接。
这里有一些代码。
设置 - 创建 Mongodb Dummy 集合
db = connect("test");
db.dummy.insert({ _id : "345kjh34k5" });
db.dummy.insert({ _id : "8945ng49" });
db.dummy.insert({ _id : "3459t8u34" });
设置 - 创建示例文件
文件名:file1.txt
File1 content. Blah blah blah.
MongoDB 脚本打印虚拟 ID
文件名:printDummyIds.js
db = connect("test");
var linkNames = db.dummy.find().map(function(doc){
print( doc._id );
});
输出:
mongo --quiet printDummyIds.js
345kjh34k5
8945ng49
3459t8u34
调用 mongo 然后创建软链接的 Bash 脚本
文件名:createLinksFromIds.sh
echo Linking files to source.
echo Source: $1
ext="${1#*.}"
out="./out/"
mkdir $out
for id in $(mongo --quiet printDummyIds.js)
do
lName=$out$id"."$ext ;
echo Creating $lName ;
ln -s $1 $lName ;
done
用法
createLinksFromIds.sh FILE_PATH
FILE_PATH is the file that you want to link.
例子:
bash createLinksFromIds.sh file1.txt
输出:
Linking files to source.
Source: file1.txt
Creating ./out/345kjh34k5.txt
Creating ./out/8945ng49.txt
Creating ./out/3459t8u34.txt