# Accidentally corrupted graphics (?) data of notebook — now it won't open

In the process of editing my scripts' variable names with a haphazard "replace in all open files" in my text editor, I accidentally replaced portions of graphics data in a notebook (and I believe this is the only issue with the notebook). Here's a sample of my notebook in my text editor:

Cell[BoxData[
Graphics3DBox[GraphicsComplex3DBox[\$Failed, {{
{Opacity[0.4], EdgeForm[None],
GraphicsGroup3DBox[{Polygon3DBox[CompressedData["
OWdRMSsgmHPOIKhgzgnR93z29Pf5vX/M0zU93T09Mz3d1VWnqvpP3m+rffO5
...
SIz7Av/VL5TBhqJPyesWaxZ5/ULdD6rGk39asT0GPMtTShc12+f3763GSrJP
eEPn42ueVxM9322Z2wHfOz3zHo292vZgj0rBN2yz/cX+qXbWVt46Op7\[CapitalOmega]2S8X
PkPQO5K3ZsifUHP+JrF9m+Lj9FXWmcR2+a8n3i/jAwIM6OiS8aPgNuKQzz76
4cx7TXSVD2Teu+MDFhwgfljAOT2aud6Wsf2U0A54IVLaBUP0ZtX22vhBf67Z


The \[CapitalOmega] doesn't belong. Unfortunately, "undo" is no longer available, and there's no obvious way for me to sift through and re-replace some of the symbols that I changed (for instance, they aren't all obvious like \[CapitalOmega]). Mathematica can no longer open the notebook (I wait while it grinds and heats-up, then have to force-quit).

Is there some way to delete the graphics (or even all output cells) from the text file? I was considering just trying this (deleting the cells that seem like graphics), but it seems like there might be a lot of ways this could go wrong. Help!

-
@Kuba, how can I recognize the graphics output cells? If they look like the one I showed above, can I simply delete the entire cell? –  Rico Picone May 13 '14 at 21:48
@RicoPicone Can you upload your notebook somewhere? –  Öskå May 13 '14 at 21:52
@Öskå, thanks for taking a look! Here's a link: courses.washington.edu/mengr230/sp13/resources/… –  Rico Picone May 13 '14 at 22:01
To delete all generated cells see this Q/A –  kguler May 13 '14 at 22:05
Lol. It's pretty daunting with all those graphics in there. –  Rico Picone May 13 '14 at 22:08

This should give you back most of your work:

code = Import[
"https://bitbucket.org/ricopicone/corruptmathematicanotebook/raw/master/CMN.nb",
"NB"];
CreateDocument[
code /. Cell[BoxData[(Graphics3DBox | GraphicsBox)[___]], ___] :>
Cell[TextData[
StyleBox["Here was a graphics", FontColor -> RGBColor[1, 0, 0]]],
"Text"]]

-
This is great. Thanks! If beggars could be choosers, it would be nice if other types of cells would be preserved, like text and sections (I tried and failed to adapt your example). –  Rico Picone May 13 '14 at 22:38
@RicoPicone Please try the updated version of my answer. –  halirutan May 13 '14 at 22:59
Beautiful! This is a great bit of code, you've written. Thank you :) –  Rico Picone May 13 '14 at 23:01
For posterity I made a new (simpler) corrupted notebook and put it on bitbucket. I'm going to edit the answer to get it from there (I'll leave it up). This notebook doesn't crash MMA, but the graphics are bad, and I think it's sufficient to demonstrate the point. –  Rico Picone May 13 '14 at 23:25
Some people might find it useful to simply "do away" with the output graphics cells altogether, instead of replacing them with Text cells (so they can just re-evaluate the input cells and no pesky text cells will be laying about). If that's the case, the replacement rule should point to :> Cell["", "Output"]. –  Rico Picone May 13 '14 at 23:40