相关疑难解决方法(0)

cat line X 到 line Y 在一个大文件上

说我有一个巨大的文本文件(> 2GB),我只是想catXY(如57890000至57890010)。

据我所知,我可以通过管道head输入tail或反之亦然来做到这一点,即

head -A /path/to/file | tail -B
Run Code Online (Sandbox Code Playgroud)

或者

tail -C /path/to/file | head -D
Run Code Online (Sandbox Code Playgroud)

其中ABCD可以根据文件中的行数计算得出,XY

但是这种方法有两个问题:

  1. 你必须计算ABCD
  2. 这些命令可以pipe相互发送比我感兴趣的多得多的行(例如,如果我只读取大文件中间的几行)

有没有办法让 shell 只使用并输出我想要的行?(同时仅提供XY)?

large-files tail cat head

171
推荐指数
5
解决办法
32万
查看次数

使用 awk、sed 或其他方法从大量文件中打印行的有效方法?

如果我有一个包含 800 万行的纯文本文件,并且我想将 4,000,010 到 4,000,000 行打印到屏幕上,哪个会更有效率:awk 还是 sed?

文本没有模式,不幸的是,数据库不是一种选择。我知道这并不理想,我只是想知道哪个能更快地完成任务。

或者也许有更好的替代 sed 或 awk 的方法?

performance sed awk

5
推荐指数
1
解决办法
3105
查看次数

标签 统计

awk ×1

cat ×1

head ×1

large-files ×1

performance ×1

sed ×1

tail ×1