我需要通过删除输入文件的前两行来创建一个输出文本文件。
目前,我正在使用 sed "1,2d" input.txt > output.txt
我需要对成千上万个文件执行此操作,因此使用python:
import os
for filename in somelist:
os.system('sed "1,2d" %s-in.txt > %s-out.txt'%(filename,filename))
但是这个方法非常慢。
我需要保留原始文件,所以我不能在原地进行sed。
有没有更快的方法?除了sed之外还可以使用其他工具吗?也许可以使用一些比Python更适合的脚本语言?编写一个简短的C程序值得吗,或者文件写入和磁盘访问可能成为瓶颈?
exec
而不是system
也可以得到几乎相同的改进。这并不需要一个shell。 - Cascabel