grep - 从命令行搜索 Jupyter 笔记本 Markdown 单元

标签 grep jupyter-notebook markdown ack ag

我使用ag搜索我的笔记。我的笔记记录在 Jupyter 笔记本中包含的 Markdown 文件和 Markdown 单元中。

我可以使用ag --markdown ...方便地搜索Markdown文件。如果可以使用 Jupyter 笔记本文件完成类似的操作,那就非常方便了。但这需要 ag 了解这些笔记本的格式。

我的问题:有没有办法在 Jupyter 笔记本文件中搜索 Markdown 单元格中的给定字符串?解决方案中使用的任何模式匹配器对我来说都是可以接受的(aggrepack、...)。

p.s. 笔记本由 JSON 组成。这是一个示例:

$ head notebook.ipynb
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "THIS IS A MARKDOWN STRING"
   ]
  },
  {

最佳答案

我希望使用 jq 过滤掉 python 笔记本的所有 Markdown 单元格。例如,如果您只想吐出所有 Markdown 源代码,您可以使用以下内容:

$< notebook.ipynb | jq '.cells[]|select(.cell_type == "markdown")|.source[]'

jq 速度很快,并且在将 ipython 笔记本保存到 git 时用于更复杂的解决方案,例如:Using IPython notebooks under version control

关于grep - 从命令行搜索 Jupyter 笔记本 Markdown 单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50255553/

相关文章:

linux - 有没有办法捕获请求日志文件中没有响应的行?

git grep 显示绝对路径

python - 带有三重引号的 Jupyter Notebook Python 自动文档字符串生成

tensorflow - 每次调用模型的新实例时,神经网络模型中的层数都会不断增加

python - %matplotlib 笔记本显示空白直方图

javascript - 为数学方程定制 MWD

linux - grep 第 n 行 linux 的一部分

unix - ksh:多个字符串的 grep 命令。如果找到所有字符串则只返回结果

r - 在 R Markdown 中为 PDF 报告居中图像和文本

r - 将 R 编织为 PDF 时限制消息输出