我正在寻找一种快速有效的方法从文本文件中提取x行并将其保存到新文件中。例如。我有一个4GB的文本文件(XML),我只需要了解解析它们的结构。没有我尝试过的工具(SublimeText2,TextWrangler,MacVim)能够打开文件,所以我的想法是将x行复制到一个新文件并打开它。
希望有人可以帮助我。谢谢,祝你有愉快的一天!
答案 0 :(得分:6)
在终端中,head -100 yourFile
将为您提供前100行。最后还是tail -100 yourFile
。
head -1000 yourFile > littleFile
将前1000行放入littleFile,我怀疑可以在你可以创建的任何大小的文件上工作。
答案 1 :(得分:1)
这是我调查大型日志文件时通常要做的。仅将感兴趣的行放入一个单独的文件中会很方便,这在日志文件处于活动状态且正在增长时特别有效。
第1步:使用grep输入模式,并获取感兴趣的行号。在日志文件夹中...'pattern'的grep。的。搜索当前目录,您可以进行相应更改或使用其他grep选项。
grep -rnw . -e 'pattern'
./ logfile.log:293910 //模式的首次出现
...
./ logfile.log:294591 //模式的最后一次出现
因此,要创建以进行调查的新文件需要在第一次出现该模式之前有几行,而在最后一次出现该模式之后需要几行。您可以像这样创建一个单独的文件...
head -294800 ./logfile.log | tail -900 > test.log
现在,原始日志文件有900行静态内容,使用起来更加轻松。希望这对某人有帮助。
OR
在vi / vim编辑器中...您可以这样做,其中范围100、200
:100,200w test.log
OR
vim -c "100,200w test.log" -c wq logfile.log