打印文件的一部分



是否有用于打印文件部分的神奇 unix 命令? 我有一个有数百万行的文件,我想跳过前一百万行左右,打印文件的下一百万行。

提前谢谢你。

要提取数据,sed是你的朋友。

假设您可以输入到cmd行的一次性任务:

sed -n '200000,300000p' file | enscript

"数字逗号 (,) 数字"是 SED 中范围 CMD 的一种形式。这个从第 2,000,000 行开始,直到你达到 3,000,000。

如果您希望输出转到屏幕,请删除| enscript

enscript是一个实用程序,用于管理将数据发送到Postscript兼容打印机的过程。我的 Linux 发行版没有这个,所以它不一定是 std 实用程序。希望您知道需要重定向到哪个命令才能将输出打印到纸张上。

如果要"打印"到另一个文件,请使用

sed -n '200000,300000p' file > smallerFile

希斯

我建议awk因为它比sed更容易和更灵活:

awk 'FNR>12 && FNR<23' file

其中FNR是记录编号。所以上面打印的行高于 12 和低于 23。

你可以像这样让它更具体:

awk 'FNR<100 || FNR >990' file

如果记录编号小于 100 或大于 990,则打印行。或者,超过 100 行和包含"fred"的行

awk 'FNR >100 || /fred/' file

相关内容

  • 没有找到相关文章

最新更新