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
    • 最新
    • 标签
主页 / computer / 问题 / 1466511
Accepted
174140
174140
Asked: 2019-08-02 01:14:43 +0800 CST2019-08-02 01:14:43 +0800 CST 2019-08-02 01:14:43 +0800 CST

`less`:多个命令,包括搜索

  • 772

想象一下,您想要less自动滚动到末尾。正如其手册所述,很容易做到less +G。

想象一下,您希望less从头开始,但在吸收了所有输入之后。简单,做less +Gg(到最后然后回到开始),它支持几个命令链。你不相信吗?足够多的连续Gg序列,你最终会less来回观看。

想象一下,您想要less前进到==序列的第六次出现。不能用less +/==nnnnn!即搜索==nnnnn,而不是搜索==然后再搜索下五次。现在要做什么?

less valgrind
  • 3 3 个回答
  • 220 Views

3 个回答

  • Voted
  1. Best Answer
    user1686
    2019-08-02T01:26:37+08:002019-08-02T01:26:37+08:00

    想象一下,您实际上可以像这样指定多个单独的命令:

    less +/== +nnnnn
    


     

    如果这不起作用,您可以在参数中嵌入一个文字换行符:

    less $'+/==\nnnnnn'
    
    less "+/==
    nnnnn"
    
    • 3
  2. harrymc
    2020-09-25T05:03:16+08:002020-09-25T05:03:16+08:00

    此方法用于awk查找字符串的行号并将其用作参数less:

    less +$(awk '/==/{++n; if (n==6) { print NR; exit}}' file) file
    

    这是受 Stack Overflow 后 shell 脚本的启发,用于查找第 n 次出现的字符串并打印行号,其中提供了更多查找行号的方法。

    为了便于使用,可以将此命令嵌入到 bash 函数中,并将文件、字符串和出现次数作为参数。

    • 0
  3. Hastur
    2020-09-27T04:15:01+08:002020-09-27T04:15:01+08:00

    简单来说

    为此,我做了一个功能

    Myless(){ less +g$(grep -n -m$2 "$1" "$3"  | cut -f1 -d: | tail -n 1) "$3"; }
    

    然后我打电话给

    Myless == 6 myfile
    

    要求grep找到模式,打印行号-n,在第 m 次出现后停止-m$2,切割数字cut -fd:, taking the last one tail -n 1`...

    它可以优化(对于非常大的文件)搜索字节作为二进制数据然后指向less该字节......

    ...或者可以sed以更紧凑的方式使用它来提取行号(sed -n '/pattern/=' myfile)...

    • 0

相关问题

  • 如果内容可以在 less 命令中显示在一个屏幕中,则打印内容并退出

Sidebar

Stats

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

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve