【问题标题】:deleting lines in Jupyter file with linux command line使用 linux 命令行删除 Jupyter 文件中的行
【发布时间】:2018-03-12 20:34:59
【问题描述】:

我有一个笔记本文件,其中包含以下数百万行,并且由于这些行(出于调试原因打印是或否),chrome 无法再午餐我的代码。

  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "no\n",
  "yes\n",
  "no\n",

我想删除那些,使用 sed 并设法删除($ sed '/no/d' debugger.ipynb > new2.ipynb$, $ sed '/yes/d' new2.ipynb > new3.ipynb $ )

但我无法午餐生成的文件, enter image description here

我想我也删除了一些结构。 有没有更好的办法?

【问题讨论】:

  • 仅匹配 "no\n", 并保留其他包含 no 的行,即 sed /'^"no\\n",$'/d - ^/$ 表示行的开始/结束。

标签: linux text sed jupyter


【解决方案1】:

grep -v -e '^ "no\\n",$' -e '^ "yes\\n",$' debugger.ipyndb > new3.ipyndb

使用-v 选项,这将为您提供匹配"no\n","yes\n", 的行

您还可以考虑使用-x 精确行和-F 固定字符串选项来加快grep 速度(-F 可能需要删除正则表达式^$ 行开始/结束的语法。)但是如果它只有数百万行,并且只需要运行一次,我怀疑这些选项是否值得玩。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2013-10-14
    • 1970-01-01
    • 2017-03-18
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多