如何把含有某个标签的段落,全部筛选出来放在一个文件中?
需要安装dataview插件,并且把插件设置中的js功能都打开。
然后使用以下代码
```dataviewjs
//使用时修改关键词即可
const term ="#标签"
const files = app.vault.getMarkdownFiles()
const arr = files.map(async ( file) => {
const content = await app.vault.cachedRead(file)
const lines = content.split("\n").filter(line => line.contains(term))
return lines
})
Promise.all(arr).then(values =>
dv.list(values.flat()))
/```
在粘贴代码时使用crtl+shift+v粘贴,粘贴完记得把【/】删除。
15 个赞
革新笔记结构的秘籍
不过我试了下,暂时还是保持原来的方式(毕竟自己不会编,以后有新需求,还要麻烦大佬。。),也来抛砖引玉一下简单的替代做法:
目前我需要用到类似功能的地方,主要是备忘
一、笔记中
1.在tags标记 #Anchor/备忘
2.在具体位置标记 备忘::
二、需要统计引用的地方
```dataview
table 项目,备忘
from #Anchor/备忘
```
感觉这样虽然麻烦点,但一个笔记中备忘点较多时,对应调理会比较清晰;另外还可以按需要统计更多字段
4 个赞
你的当天笔记-筛选能分享吗?
其实这相当于我的homepage
里面有些长期、短期任务
还有一些筛选
如待办任务:
table 创建日期,Tags, file.mday as "修改时间",期限,执行人,状态,优先级,要点
from #Work/tasks
where !contains(状态,"D")
where file.name!="标签页MOC"
sort file.mtime
如备忘(楼上)
PS:bon大出了memo插件,这个可以对 标签筛选出来,可以试试
1 个赞
请问,如何实现上述筛选,并剔除某个文件,或文件夹,或标签?谢谢
请问怎么可以用dataview只引用当前笔记的 重点:: 内容呢?
加一句
where file.name = this.file.name
原来大佬在这里也详细解释,非常赞,完美!
最完美的格式是,做成 代办事项,再筛选,搞好,就可以剔除。这个也是同行筛选
// 修改其中的标签 跟进
dv.taskList(
dv.pages("").file.tasks
.where(t => t.text.includes("#跟进") && !t.completed),1)
3 个赞
我常在许多文件搜索与某些文字有关的内容,并需要把含有这些文字的块(段落)经过筛选后,或引入 ,或嵌入、或放在一个文件中,有没办法?. 谢谢。
我也有同样的需求!
1 个赞
请问楼主是用什么方式解决?回复中的代码复制粘贴不成功。。。
1 个赞
我也是。到外网查,也没查到方法。。只找到 embedded search。可是不能复制,没什么用。
我参考了这篇的代码,实测有效。
3 个赞