【已解决】如何把含有某个标签的段落,全部筛选出来放在一个文件中?

如何把含有某个标签的段落,全部筛选出来放在一个文件中?

2 个赞

需要安装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粘贴,粘贴完记得把【/】删除。

11 个赞

革新笔记结构的秘籍 :+1:
不过我试了下,暂时还是保持原来的方式(毕竟自己不会编,以后有新需求,还要麻烦大佬。。),也来抛砖引玉一下简单的替代做法:
目前我需要用到类似功能的地方,主要是备忘

一、笔记中
1.在tags标记 #Anchor/备忘
2.在具体位置标记 备忘::

二、需要统计引用的地方
```dataview
table 项目,备忘
from #Anchor/备忘

```


感觉这样虽然麻烦点,但一个笔记中备忘点较多时,对应调理会比较清晰;另外还可以按需要统计更多字段

2 个赞

你的当天笔记-筛选能分享吗?

其实这相当于我的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)
1 个赞

我常在许多文件搜索与某些文字有关的内容,并需要把含有这些文字的块(段落)经过筛选后,或引入 ,或嵌入、或放在一个文件中,有没办法?. 谢谢。