【发布时间】:2014-03-18 13:46:35
【问题描述】:
此问题与任何代码问题无关。只是需要你的建议。
我们有一个 ~ 100GB 的文件,我们正在应用 sed 来替换一些参数。 这个过程需要很长时间并且会占用 CPU
用 awk/tr/perl 或任何其他 unix 实用程序替换 sed 是否会在这种情况下有所帮助。
注意:
time 命令以外的任何建议。
【问题讨论】:
-
你做了什么样的替换?你知道文件中的行号吗?
-
直观地说,越简单越好。根据这个推理,如果你不能使用
tr- 这更简单,因为它根本不检查上下文;它会替换所有出现的你给它的字符 - 使用sed。然而,Perl 或 Awk 的速度更快并不是闻所未闻的,如果你找到了它们可以优化的最佳位置。衡量和比较。 -
这是假设您当前的脚本不包含明显的错误,例如多次
sed调用就足够了。也许发布一个sn-p? -
@tripleee 实际上 sed 命令是在循环中调用的......它执行多个文件(4 个文件)的替换......每个 ~100 GB......所以只是想知道 sed 是否是执行此类活动的正确解决方案....