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