Grep 从命令行搜索Jupyter笔记本标记单元格
我过去常常翻阅我的笔记。我的笔记记录在Jupyter笔记本中的标记文件和标记单元格中 我可以用ag-Markdown…方便地搜索Markdown文件。。。。如果能用Jupyter笔记本文件做类似的事情,这将非常方便。但这需要ag了解这些笔记本的格式 我的问题是:有没有一种方法可以只在Jupyter笔记本文件中的标记单元格中搜索给定字符串?解决方案中使用的任何模式匹配器都适用于me ag、grep、ack等 p、 这些笔记本是用JSON编写的。以下是一个示例:Grep 从命令行搜索Jupyter笔记本标记单元格,grep,jupyter-notebook,markdown,ack,ag,Grep,Jupyter Notebook,Markdown,Ack,Ag,我过去常常翻阅我的笔记。我的笔记记录在Jupyter笔记本中的标记文件和标记单元格中 我可以用ag-Markdown…方便地搜索Markdown文件。。。。如果能用Jupyter笔记本文件做类似的事情,这将非常方便。但这需要ag了解这些笔记本的格式 我的问题是:有没有一种方法可以只在Jupyter笔记本文件中的标记单元格中搜索给定字符串?解决方案中使用的任何模式匹配器都适用于me ag、grep、ack等 p、 这些笔记本是用JSON编写的。以下是一个示例: $ head notebook.ip
$ head notebook.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"THIS IS A MARKDOWN STRING"
]
},
{
我不知道ag是否可以与过滤器连接,但是
从笔记本文件中获取降价,下面的Python代码就足够了
import nbformat
from sys import argv
nb = nbformat.read(argv[1], nbformat.NO_CONVERT)
for cell in nb.cells:
if cell.cell_type == 'markdown' : print(cell.source)
我希望使用jq过滤掉python笔记本中的所有标记单元格。例如,如果您只想说出所有降价源,可以使用以下方法:
$< notebook.ipynb | jq '.cells[]|select(.cell_type == "markdown")|.source[]'
jq速度很快,在将ipython笔记本保存到git时,jq可以用于更精细的解决方案,例如:您可以详细说明您的问题吗。从它的声音,你只是问如何提供一个路径到你要搜索的目录,这是使用ag的标准方法。谢谢你的兴趣。希望我已经澄清了我的问题-请看编辑。这确实比@GBOFI的答案快了一个数量级。谢谢