Linux显示txt文件,如何在Linux中显示文本文件中的某些行?

sed -n '10000000,10000020p' filename

你可能能够加快这一点:

sed -n '10000000,10000020p; 10000021q' filename

在这些命令中,选项-n使sed“抑制模式空间的自动打印”. p命令“print [s]当前模式空间”和q命令“立即退出[s] sed脚本而不再处理任何输入……”引号来自sed man page.

顺便说一句,你的命令

tail -n 10000000 filename | head 10

从文件末尾的第1000万行开始,而你的“中间”命令似乎从一开始就是千万分之一,这相当于:

head -n 10000010 filename | tail 10

问题是对于具有可变长度行的未排序文件,任何进程都必须通过计算换行的文件.没有办法快捷.

但是,如果文件已排序(例如,带有时间戳的日志文件)或具有固定长度的行,则可以根据字节位置搜索文件.在日志文件示例中,您可以像我的Python脚本here *那样进行一系列二进制搜​​索.在固定记录长度文件的情况下,它真的很容易.您只需在文件中搜索linelength * linecount字符.

*我有意义发布该脚本的另一个更新.也许我会在这些日子里解决这个问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值