从命令行搜索 Jupyter notebook 降价单元格
Search Jupyter notebook markdown cells from command line
我使用 ag
来搜索我的笔记。我的笔记写在 Jupyter 笔记本中包含的 Markdown 文件和 Markdown 单元格中。
我可以用ag --markdown ...
方便的搜索Markdown文件。如果可以用 Jupyter notebook 文件做类似的事情,那将非常方便。但这需要 ag
了解这些笔记本的格式。
我的问题:有没有办法在 Jupyter 笔记本文件中搜索 仅 给定字符串的 Markdown 单元格?解决方案中使用的任何模式匹配器对我来说都是可以接受的(ag
、grep
、ack
、...)。
p.s. 笔记本是在 JSON 中编写的。这是一个示例:
$ head notebook.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"THIS IS A MARKDOWN STRING"
]
},
{
我不知道 ag
是否可以与过滤器连接,但是
从笔记本文件中获取 Markdown 以下 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 时用于更精细的解决方案,例如:Using IPython notebooks under version control
我使用 ag
来搜索我的笔记。我的笔记写在 Jupyter 笔记本中包含的 Markdown 文件和 Markdown 单元格中。
我可以用ag --markdown ...
方便的搜索Markdown文件。如果可以用 Jupyter notebook 文件做类似的事情,那将非常方便。但这需要 ag
了解这些笔记本的格式。
我的问题:有没有办法在 Jupyter 笔记本文件中搜索 仅 给定字符串的 Markdown 单元格?解决方案中使用的任何模式匹配器对我来说都是可以接受的(ag
、grep
、ack
、...)。
p.s. 笔记本是在 JSON 中编写的。这是一个示例:
$ head notebook.ipynb
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"THIS IS A MARKDOWN STRING"
]
},
{
我不知道 ag
是否可以与过滤器连接,但是
从笔记本文件中获取 Markdown 以下 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 时用于更精细的解决方案,例如:Using IPython notebooks under version control