AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 502828
Accepted
blueFast
blueFast
Asked: 2013-04-27 02:00:59 +0800 CST2013-04-27 02:00:59 +0800 CST 2013-04-27 02:00:59 +0800 CST

添加尾部行为,其中 enter 将空行添加到 less

  • 772

我喜欢less,我可以使用它通过+F标志(或ShiftF热键)跟踪日志、向前和向后搜索,并且通常可以在文档中自由移动。

但是其中缺少一件事less:通常我在文件的末尾,我想看到新的事情发生。在tail -f我只需点击enter几次,新的日志行就会与旧行清楚地分开。

是否可以将其添加到less?如何?

linux
  • 5 5 个回答
  • 1003 Views

5 个回答

  • Voted
  1. Best Answer
    mattdm
    2013-04-27T08:51:43+08:002013-04-27T08:51:43+08:00

    这不是真正tail的行为——这是终端。Tail 只是将输出流发送到 stdout,它会到达您的终端,然后您通过按回车键在该输出的中间插入空行。Tail 本身实际上根本不接受您的输入。您可以输入任何您想要的内容,它们也会显示出来。

    less但是,它是一个控制台应用程序,它接受输入并对其进行处理。它使用终端控制序列管理控制台,这就是您可以滚动的方式。让您在流中插入任意字符会弄乱显示,无论如何 less 使用您的输入来控制程序。

    不幸的是,它似乎没有办法在视觉上标记当前位置。不过,这并不是一个糟糕的功能请求,而且 less仍然会不时获得新功能。

    • 6
  2. Lambart
    2013-10-25T17:12:08+08:002013-10-25T17:12:08+08:00

    我在为自己寻找相同答案时发现了您的问题。

    对接受的答案感到失望,我想出了一个解决方法。它不太理想,但它允许我在我正在跟踪的日志中标记我的位置less,这就是重点。

    我创建了一个包含以下内容的小型可执行脚本(我称之为marklog),并将其放在我的路径中:

    #!/bin/sh
    echo >> $1
    echo >> $1
    echo >> $1
    echo `date` ---------------------------------------------------------------------- >> $1
    echo >> $1
    echo >> $1
    

    当然,这只有在您对日志文件具有写入权限时才有效——在许多情况下这可能会破坏交易。我还创建了这个版本,我用它来写入我不拥有的日志文件(但我有 sudo 访问权限):

    #!/bin/sh
    sudo sh -c "echo >> $1"
    sudo sh -c "echo >> $1"
    sudo sh -c "echo >> $1"
    sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
    sudo sh -c "echo >> $1"
    sudo sh -c "echo >> $1"
    

    这些脚本恰好提供了我一直在寻找的那种视觉中断。您至少可以通过 3 种方式使用它们:

    1. 在使用 时通常按几次 Enter 的地方tail -f,而不是marklog从另一个终端运行(提供日志文件的路径作为参数)。

    2. 使用CtrlZ暂停less以便您可以在同一终端窗口中运行脚本,但是当您重新进入前台时less(fg当然使用 ),它将不再处于“跟随”模式,因此您需要ShiftF再次点击...

    3. 最后——这可能是最方便的方法,因为您不需要输入日志文件的路径:通过输入marklog直接运行。将用当前文件名替换. 但是,不会回应!当它处于“跟随”模式时,所以你必须先点击退出跟随模式,然后再运行。less!marklog %Less%lessCtrlC!marklog %ShiftF

    使用方法 3,您还可以获得 Less 的命令历史记录的额外好处:只需点击!,然后使用向上箭头选择最近的命令(对我来说,它总是marklog)。

    希望这对已经帮助过我的人有帮助。

    • 4
  3. kofemann
    2013-04-27T02:06:15+08:002013-04-27T02:06:15+08:00

    在文件末尾按Shift+ F,less 将开始作为tail -f.

    • 1
  4. user9517
    2013-04-27T08:53:12+08:002013-04-27T08:53:12+08:00

    我不认为你能做到这一点。我已经使用m并'标记了感兴趣的地方,然后再次转到它们,但这并没有给你你所要求的分离。也许像 multitail 这样的东西会做你想做的事。

    • 1
  5. iRaS
    2018-03-21T02:31:35+08:002018-03-21T02:31:35+08:00

    Lambart 的回答让我想到了我最喜欢的解决方案。谢谢兰巴特!

    只需输入跟随模式ctrlc并输入!printf "\n\n---$(date)---\n\n" >> %。之后,您必须再按enter一次并点击shiftf文件以重新开始。

    • -1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve