一日一技:如何从多个Jupyter Notebook中找到需要代码段

举报
未闻Code 发表于 2022/02/16 20:42:58 2022/02/16
【摘要】 从多个Jupyter Notebook中找到需要的代码段

我喜欢使用Jupyter来写一些代码片段,如下图所示:

2.png

但时间长了以后,可能积累了非常多的Notebook,如下图所示:

3.png

某一天,我突然想找很久之前写的一段代码片段,但是我不记得是写在哪个Notebook里面了。应该怎么办呢?

如果我们使用vscode或者vim打开Notebook对应的.ipynb,我们就会发现实际上Notebook也是文本文件,如下图所示:

4.png

那么,在Linux和macOS下面,我们就可以使用Shell命令查询里面的内容。

假设我只记得要找的代码片段里面有一个关键字event。

那么首先我们使用ls命令列出所有的Notebook如下图所示:

5.png

接着,通过管道传递给grep:

6.png

代码运行完成,立刻就可以看到,只有公众号演示.ipynb这个Notebook里面有包含event的代码片段。于是我们在Jupyter里面打开这个Notebook就可以找到代码了。

你以为这样完成了吗?我们测试一下,如果Notebook的名字包含空格会怎么样?包含引号又会怎么样?

先看包含空格的时候:

7.png

包含引号的时候:

8.png

这种情况怎么办呢?这个时候就需要换一种输出方式:

find *.ipynb -print0 | xargs -0 grep '未闻Code'

运行效果如下图所示:

9.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。