目前公司生产上大概有 1000+的 shell 脚本,最近总能刷到 Python 替换 shell 的言论,不知道可不可行,目前我也不清楚 Python 照 Shell 来说有什么优势,之前做过一个临时工单,抽取 3000+文本文件中的特定条件的字符串到指定文件中,Shell 执行了 14 小时左右 Python 执行了大概 20 分钟,不知道可不可以作为参考依据 本人运维
首先建议公司用的话能动就别换 Python 的问题是,你不知道系统带的 Python 是什么版本,然后系统自带 Python 装包会污染系统的 python 环境 外部交互比较麻烦,以前一行搞定的事情现在要 subprocess 但是复杂的脚本用 Python 优势就很明显了,而且因为转义遇到的 bug 也少
抽取 3000+文本文件中的特定条件的字符串到指定文件中,这个肯定是 python 很方便,用 shell 其实每一行都会新建进程,开销很大,python 是进程内部处理了 想要学习的话以后遇到新的这种纯文本转换/提取的任务,如果要写新的脚本的话,可以用纯 python 写,记得不要调外部包,加 type hinting