【发布时间】:2013-10-14 18:38:43
【问题描述】:
我有一个文本文件,需要删除其中不包含http 的所有行。或者,它可以将所有包含http 的文件输出到新文件中。
我的原始文件的名称是list.txt,我需要生成一个新文件,名称类似于new.txt
我知道有几种方法可以通过命令行执行此操作,但我真正要寻找的是最快的方法,因为我需要使用多个文件来执行此操作,并且每个文件的大小都是几 G.. .
【问题讨论】:
-
这可以用
sed或awk或grep和否定运算符来完成,见unix.stackexchange.com/questions/11217/…;真的需要快速吗?这是一个正常的操作,还是一个一次性的任务? -
请注意,当您从文件中间删除文本时,您需要使用任何工具重写文件,所以它会很慢(1GB -> 100 秒,如果您的驱动器可以维持 10MB/s,它可能无法做到)
标签: perl shell command-line command