【发布时间】:2018-07-09 09:48:19
【问题描述】:
我需要读取一个大约 5 GB 的文件,并在 Python 中编写一个与此相关的脚本:
cat file | awk -F '","' '{if ($12 !="" ) print $9,$10,$12}'| sort -n | uniq -c | sort -nr | head -100
9,10,12 是我想要从该文件中获取的参数。
我可以在 Bash 中毫无问题地做到这一点,也可以在带有 os.system 和该命令的 Python 脚本中做到这一点……但我需要正确编写 Python 脚本。
问题是我无法将数据保存在任何列表或变量中,因为要在服务器上运行的脚本由于文件大小而无法使用如此多的 RAM。
我正在考虑将数据写入文件而不是列表,但我还没有找到方法。
【问题讨论】:
-
如果您不能使用太多内存,请使用中间文件。这将需要更长的时间,但它会起作用。为什么你没有做到这一点?哪个是问题?向我们展示您尝试过的代码,以便我们查明问题。
标签: python linux bash shell unix