当我以更少或更多的方式搜索文件时,它会删除行并将其替换为“跳过”。有谁知道是什么原因导致这种情况和/或如何避免它?
在我使用 more 或 less '/' 搜索日志文件后,我看到以下内容:
crw-rw-rw- 1 root staff 40, 0 Oct 27 2013 fscsi0
crw-rw-rw- 1 root staff 40, 1 Oct 27 2013 fscsi1
brw-rw---- 1 root system 10, 9 Oct 27 2013 hd1
...skipping...
crw-rw-rwT 1 root system 38, 7 Oct 27 2013 vhost7
crw-rw-rwT 1 root system 38, 8 Oct 27 2013 vhost8
crw-rw-rwT 1 root system 38, 9 Oct 27 2013 vhost9
crw------- 1 root system 12, 0 Oct 27 2013 vio0
crw------- 1 root system 20, 0 Apr 5 00:53 vty0
drwxr-xr-x 2 root system 256 Oct 15 2008 xti
crw-rw-rw- 1 root system 2, 3 Oct 27 2013 zero
...skipping...
crw-rw-rwT 1 root system 38, 7 Oct 27 2013 vhost7
crw-rw-rwT 1 root system 38, 8 Oct 27 2013 vhost8
crw-rw-rwT 1 root system 38, 9 Oct 27 2013 vhost9
答案1
那些“跳线”是完全正常的。
搜索某个字符串比在屏幕上显示每一行要快得多。因此,如果您搜索一个单词,less
将扫描文件中的该单词,一旦找到一行,它将仅显示找到该单词的那一页行。
如果您使用终端向后滚动,您将看到那些“跳过”的行。
如果您想在文本中向后移动,只需使用正确的键(例如箭头键)即可。这将使您按原样浏览文本,而不会出现任何“跳过”。
PS:您可以输入h按键less
列表及其用途。
答案2
对于“less”命令,“...skipping...”输出来自“less”代码本身。你无法避免这一点。
如果您导航到“man less”命令的底部,您将看到“http://www.greenwoodsoftware.com/less”行。此链接包含所有“较少”版本的源代码。 (您的版本可以在“man less”命令的底部看到)。
您可以下载您的版本并检查 c 代码。打印“...skipping...”的行位于 forwback.c 文件中。 (grep '...skipping...' *.c 查看搜索结果)最后搜索skipping关键字,你就会看到它是什么时候使用的。