Dav*_*ave 11 vim command-line text-editor read-only
我正在使用 Ubuntu 14.04。我有一个很大的日志文件:
-rw-r--r-- 1 rails root 1792390124 Jan 10 14:54 /var/log/unicorn/unicorn.log
Run Code Online (Sandbox Code Playgroud)
尽管如此,我需要打开它并在其中找到一些东西。我试过vim,但正在运行
vim /var/log/unicorn/unicorn.log
Run Code Online (Sandbox Code Playgroud)
只是打开一个空白屏幕,即使我使用Ctrl+ C,也没有任何反应。终端挂了。不升级机器上的任何硬件(但我愿意安装软件),如何打开文件并环顾四周(我不需要编辑它,我只需要从中读取一些行)。
使用命令less。less使用更有效的方式将文件读入内存。有 2 个等效命令:more和most(您需要安装的最后一个)。那些将单个页面放入内存中。
但是您搜索的最佳选择是使用grep. 例子:
grep {searchstring} {file}
Run Code Online (Sandbox Code Playgroud)
并查看logrotate以便您跨越多个文件的日志。
并且split可以将您当前的文件分成相等的部分,这样您就可以更轻松地查看该日志。
在处理大文件时,最好将要处理的信息量降到最低,并且有一些工具可以做到这一点。提到的一种工具是grep搜索您需要的特定行。我建议使用的另外两个工具是tail,head它们可以从文件顶部 ( head) 或从文件末尾 ( tail)显示特定数量的行或字节。如果您只需要读取文件的那些特定部分,而不需要读取这两者之间的内容,这将非常有用。
另一种方法是使用split命令。它可以根据字节数或行数分解文件。例如,
$ mkdir SPLIT
$ cd SPLIT/
$ split -l 5 /etc/passwd
$ ls
xaa xab xac xad xae xaf xag xah xai xaj
Run Code Online (Sandbox Code Playgroud)
现在,我的/etc/password文件被分解成更小的文件,每个文件 5 行,您可以使用 vim 或其他文本编辑器打开这些文件
这取决于你的目标是什么。
如果您想滚动浏览整个日志文件,您可以使用less或more命令来获得手头文件的逐页视图。
否则,如果您知道要在文件中查找的位置,则可以使用head或tail命令获取文件的部分/摘录。有关如何搜索精确零件的更多信息,请参阅man head和man tail。
如果您正在寻找特定的字符串/条目,您可以使用grep来搜索您的字符串的文件。您可以使用cat file | grep something或grep something file取决于您想要做什么。
或者,如果您想做一些更高级的事情,如果需要,您可以考虑使用sed或awk进行更高级的操作。
| 归档时间: |
|
| 查看次数: |
9877 次 |
| 最近记录: |