到目前为止,我找到了一种方法:less +G 文件名,但它只能通过向上键逐行向上滚动。提供按页滚动、向后模式搜索等功能的更强大的少用法是什么?
当我有 dircolors 定义的生活充满了......颜色。
当我ls
通过管道less
滚动时,我失去了颜色。
有什么建议?
在 UNIX shell 下,如何获得与watch
命令类似的效果,但使用分页功能,以便在输出超过一个屏幕时可以滚动显示?
换句话说,我想要一个程序是watch
什么less
是cat
.
例如,假设我想观看 的输出qstat
,我可以使用
watch qstat
Run Code Online (Sandbox Code Playgroud)
观看qstat的输出,但这只能显示第一个屏幕。
使用 的分页版本watch
,我将能够在输出中移动,因为它仍由watch
. 目前有没有办法使用现有的实用程序来做到这一点?
我经常处理非常大的日志文件(> 3 GB)。我注意到这些文件的 less 性能很糟糕。我经常想跳到文件的中间,但是当我告诉 less 向前跳 15 M 行时,它需要几分钟..
我想象的问题是较少需要扫描文件中的 '\n' 个字符,但这需要太长时间。
有没有办法让它只寻求明确的抵消?例如,在文件中寻找字节偏移量 15 亿。这个操作应该快几个数量级。如果 less 不提供这种能力,那么还有其他工具吗?
如果我做:
journalctl -u my-service
Run Code Online (Sandbox Code Playgroud)
然后Shift-F
在寻呼时跟随,如何在(interrupt to abort)
不退出寻呼机的情况下?
使用less
,我通常只是^C
,但如果我在 journalctl 中这样做,它会退出整个寻呼机。
我想看一个文件每 5 分钟被覆盖一次less
。我怎样才能less
跟随新的文件描述符而不是保持旧的显示?watch "cat file"
不会这样做,因为文件太长而无法放入一个终端窗口。
我喜欢less
,我可以用它来跟踪带有+F
标志(或ShiftF热键)的日志,向前和向后搜索,并且通常可以在文档中自由移动。
但是在 中缺少一件事less
:通常我在文件的末尾,我想看到新的事情发生。在tail -f
我只会点击enter几次,新的日志行会与旧的行明显分开。
是否可以将其添加到less
?如何?
我试图解决一个常见的烦恼:当 SSH 连接到远程服务器时,我经常做的事情产生的输出比我预期的要多得多。例如,使用一种过于笼统的模式对大型日志文件进行 grep 处理。当垃圾翻滚时,我坐在那里敲击 ^C 并希望我记得少用管道。到目前为止,我最好的想法是尝试将我的 shell 配置为始终页面输出,我问了另一个问题。除此之外,我只有不太理想的解决方案:
你做什么工作?
我将此发布给超级用户,但没有人接受:https : //superuser.com/questions/832578/how-to-grep-a-continuous-stream-with-paging
我想获取一个日志文件并过滤掉一些不相关的日志条目,例如 INFO 级别的日志条目。上面的 Stack Overflow 答案让我受益匪浅:
$ tail -f php_error_log | grep -v INFO
Run Code Online (Sandbox Code Playgroud)
我想要的下一部分是在此流中进行分页,例如使用 less。less +F 适用于连续流,但我不能将其应用于 grep。我怎样才能做到这一点?
自从发布该问题以来,我一直在研究它并发现它less
正在等待 EOF 出现,并挂起直到它收到它(来源)。这解释了为什么尝试跟随管道不起作用。我编写了一个简短的脚本来做我想做的事,不优雅:
#!/bin/bash
tail -f /data/tmp/test.txt | grep --line-buffered foo > /data/tmp/foo &
pid=$!
echo $pid
sleep 1
less +F /data/tmp/foo
kill $pid
rm /data/tmp/foo
Run Code Online (Sandbox Code Playgroud)
我相信可以更优雅地做到这一点,也许使用一个无需直接交互即可自动清理的临时文件。
我正在做:
less -S my_database_dump.sql
Run Code Online (Sandbox Code Playgroud)
为了查看行被切断的文件(即换行)。但它不起作用,行没有被换行,我需要水平滚动才能看到整行。我能做什么?
我已经离开 Solaris 5 年了。我习惯使用 pageup 和 pagedown 而不是 b 和 f。
任何人都知道一种简单的方法来完成这项工作?我的 shell 是 /bin/tcsh(我是 QA,所以我不能改变它。)如果它很重要
这个问题与线程有关。
我的 .zshrc 中的行
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
Run Code Online (Sandbox Code Playgroud)
以下似乎意味着
声明仍然令人困惑。某些模式必须匹配“a begin”和“blinking”。
你怎么读行?