grep挽救了我一个下午: 恢复rm -f删除的代码

今天对代码进行重构, 新添加了一个logics.py模块, 但并没有加入到git库中, 然后对代码进行清理, 有一个logs文件夹是不需要的所以我打算清掉它, 但是zsh将补全定位到logics.py, 手上的动作快过了脑子,直接按了回车, 做完心想完了, 一上午白费了, 还要花一下午的时间来重新写出这个代码, 虽然明知没有希望,但是我还是不想放弃, 于是就google一下有无解决办法,意外的是找到一篇文章:用grep恢复误删的文本

好吧虽然不知道能不能用, 但是我要试试, 因为我不想再花一个下午来重写这个模块, 我在模块里定义了一个Logics类并且上面差不多30行, 往下差不多300行的样子, 我删除logics.py所在的分区是/dev/sda7, 所以我运行了下面命令:

grep -a -B 50 -A 400 "class Logics(object):" /dev/sda7 > tmp

经过漫长的等待, 这个命令还没结束, 我忍不住看了下 tmp的内容, 我发现我找到了这段代码

当然损失并不是没有, 损失就是中文注释全部乱码, 但我满足了, 我只要重写注释就可以了.

Show Comments