Answers:
不要使用文本编辑器来查看文本。
有更好的工具:
使用less
(使用空格滚动,结束,首页,PageUp,PageDown滚动;使用“ / something”搜索;使用q离开)查看文件。
从less
手册:
Less不需要在启动之前读取整个输入文件,因此对于大输入文件,它的启动速度比诸如vi(1)之类的文本编辑器更快。
用法:
less wordlist.txt
考虑使用less -n
:
-n或--line-numbers:
禁止行号。在某些情况下,默认值(使用行号)可能会导致运行速度变慢,尤其是在输入文件非常大的情况下。使用该
-n
选项抑制行号可以避免此问题。
(感谢建议-n选项@pipe)
用于grep
仅获取您感兴趣的行:
# Show all Lines beginning with A:
grep "^A:" wordlist.txt
# Show all Lines ending with x and use less for better viewing
grep "x$" wordlist.txt | less
使用head
或tail
获取前n行
head wordlist.txt
tail -n 200 wordlist.txt
要编辑文本,请参阅此问题。
more
将整个文件加载到内存中不同less
。如果这么大,我建议不要使用它。最好的选择肯定是使用grep
。
more
和less
源代码,两者似乎都使用open
或fopen
,这对文件的加载方式没有任何改变
more
是一个过时的实用程序,如果less
可用的话,我认为您不会使用任何理由more
。
more
在以下方面有一个巨大的优势less
:它不支持LESSOPEN
输入预处理器。如果您要查看手册页或其他内容的原始文本,键入内容more my_docs.man
要比翻阅less
文档找出如何抑制预处理程序要快得多。
less -nS
的大型文件,加快速度一点。
通常,只需“ grep”就足以找到您需要的东西。
如果需要在特定行周围添加更多“上下文”,请使用“ grep -n”查找感兴趣行的行号,然后使用sed 在该行周围打印文件的“块” :
$ grep -n 'word' file
123:A line with with word in it
$ sed -n '120,125p' file
A line
Another line
The line before
A line with with word in it
The line after
Something else
grep -B
和-A
打印行B
-C
对于C大块(之前和之后)。