Grep 从命令行搜索Jupyter笔记本标记单元格

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

我过去常常翻阅我的笔记。我的笔记记录在Jupyter笔记本中的标记文件和标记单元格中

我可以用ag-Markdown…方便地搜索Markdown文件。。。。如果能用Jupyter笔记本文件做类似的事情,这将非常方便。但这需要ag了解这些笔记本的格式

我的问题是:有没有一种方法可以只在Jupyter笔记本文件中的标记单元格中搜索给定字符串?解决方案中使用的任何模式匹配器都适用于me ag、grep、ack等

p、 这些笔记本是用JSON编写的。以下是一个示例:

$ 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的答案快了一个数量级。谢谢