You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在less中保存当前页面到文件?Linux提取单页内容存为output.txt

关于less工具的两个页面内容保存/提取问题解答

嘿,我来帮你搞定这两个less工具的操作问题,都是日常用得上的实用技巧哦!

一、在less中把当前页面保存到文件

当你正在用less浏览文件时,想要把当前屏幕上显示的整页内容存下来,步骤超简单:

  • 按下键盘上的 s 键,这时候less底部会弹出输入框,提示你输入要保存的文件名。
  • 输入你想要的文件名(比如 my_current_page.txt),按下回车确认。
  • 如果目标文件已经存在,less会问你是否覆盖,按 y 确认就完成啦!

这个操作会精准保存你当前看到的所有内容,不会多也不会少~

二、提取file.txt的一页内容写入output.txt

这里有两种实用方法,你可以按需选择:

方法1:先定位页面再导出(直观方便)

这种方法适合你先手动找到想要的页面再导出的场景:

  • 先用less打开目标文件:less file.txt
  • 翻到你想要提取的那一页(用上下箭头、PageUp/PageDown按键都可以快速跳转)
  • 按下 | 键(就是键盘上的管道符号,通常在Backspace键旁边),这时候less底部会显示 pipe to command: 的提示文字
  • 输入 tee output.txt 然后回车,这样当前页面的内容就会被写入output.txt,同时你还能继续在less里浏览文件。

方法2:命令行直接提取(适合批量/脚本场景)

如果你已经明确知道要提取的是第几页,可以用命令行直接完成,不用打开less:

  • 先确定你的终端每页显示多少行,执行这个命令就能看到:tput lines
  • 假设输出是24(也就是每页显示24行),现在要提取第3页,对应的行范围是第49到72行,用sed命令提取:
    sed -n '49,72p' file.txt > output.txt
    
  • 要是想让这个命令更通用,方便提取任意页面,可以用变量计算行数:
    PAGE=3
    LINES_PER_PAGE=$(tput lines)
    START=$(( (PAGE-1)*LINES_PER_PAGE + 1 ))
    END=$(( PAGE*LINES_PER_PAGE ))
    sed -n "${START},${END}p" file.txt > output.txt
    
    只要修改PAGE的值,就能轻松提取对应页码的内容啦!

内容的提问来源于stack exchange,提问作者LMC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:40:20